You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中使用Linq/Lambda计算数组元素百分比生成新数组

实现方案

直接使用LINQ的投影方法即可完成计算,无需手动编写foreach遍历逻辑,对万级长度的数组没有性能压力。

示例逻辑说明

入参:

  • 原始整数数组:[600, 100, 300, 400, 9990, 50, 0, 0, 10, ...](注:示例中结果对应999的原值应为笔误,按结果反推原值是9990)
  • 百分比系数:10(即计算每个元素值的10%)
    预期输出数组:[60, 10, 30, 40, 999, 5, 0, 0, 1, ...]

代码实现

// 接口返回的原始整数数组
int[] sourceArray = GetArrayFromApi();
// 百分比系数
int percentage = 10;

// 方案1:返回整数结果,和示例输出格式一致,整数运算自动截断小数部分
int[] intResult = sourceArray.Select(item => item * percentage / 100).ToArray();

// 方案2:如果需要保留小数精度(比如原值999、系数10时得到99.9),用浮点运算
double[] doubleResult = sourceArray.Select(item => item * percentage / 100d).ToArray();

注意点

  • Select是LINQ标准投影方法,内部封装了遍历逻辑,不需要手动写foreach循环,代码简洁易维护
  • 万级数据量下该写法性能和手写foreach几乎无差异,不需要额外做性能优化
  • 可根据业务要求选择返回整数结果还是浮点精度结果

内容的提问来源于stack exchange,提问作者Sainath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 16:15:54