C#从array.sum中排除元素

时间:2013-12-18 18:21:24

标签: c# arrays sum

求和时排除数组中元素的最简洁方法是什么?

示例:

array.sum(exclude index 5);

2 个答案:

答案 0 :(得分:6)

不是试图构建临时数组或跳过该值,而是从总和中减去array[5]的值可能更快:

array.Sum() - array[5]

答案 1 :(得分:5)

如果您坚持使用LINQ,则可以使用TakeSkip来执行此操作。假设要忽略索引5处的项目,则需要索引0-4处的值,因此您获取前5个项目,然后将其与第5个索引之后的项目连接起来,因此您跳过前6个项目。 / p>

array.Take(5).Concat(array.Skip(6)).Sum();

更好的解决方案,正如Matt Burland在评论中指出的那样,Mike Christensen在他的回答中指出,是对整个列表求和,只是减去你想忽略的单个值。

相关问题