求和时排除数组中元素的最简洁方法是什么?
示例:
array.sum(exclude index 5);
答案 0 :(得分:6)
不是试图构建临时数组或跳过该值,而是从总和中减去array[5]
的值可能更快:
array.Sum() - array[5]
答案 1 :(得分:5)
如果您坚持使用LINQ,则可以使用Take
和Skip
来执行此操作。假设要忽略索引5处的项目,则需要索引0-4处的值,因此您获取前5个项目,然后将其与第5个索引之后的项目连接起来,因此您跳过前6个项目。 / p>
array.Take(5).Concat(array.Skip(6)).Sum();
更好的解决方案,正如Matt Burland在评论中指出的那样,Mike Christensen在他的回答中指出,是对整个列表求和,只是减去你想忽略的单个值。