Linqify this:聚合列表的子集

JMa*_*sch 3 c# linq

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

这是老式的方式:


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

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

mqp*_*mqp 6

myList.Skip(startIndex).Take(stopIndex - startIndex + 1).Sum(x => x.TheValue);
Run Code Online (Sandbox Code Playgroud)

如果我在做这样的事情很多,我会定义一个帮手TakeRange,涵盖了SkipTake让我没有关闭的情况的一个吧.