Linqify this:聚合列表的子集

时间:2010-05-19 22:31:37

标签: c# linq

假设我有一个列表或项目数组,我想总结一下列表中的项目的子集。 (就我而言,它恰好是一个连续的子集)。

这是老式的方式:


int sum = 0;
for(int i = startIndex; i <= stopIndex; i++)
  sum += myList[i].TheValue;
return sum;

获得该代码的最佳方法是什么?

1 个答案:

答案 0 :(得分:6)

myList.Skip(startIndex).Take(stopIndex - startIndex + 1).Sum(x => x.TheValue);

如果我做了很多这样的事情,我会定义一个覆盖TakeRangeSkip的帮助Take,这样我就不会一个接一个它