C# Linqify this:聚合列表的子集

C# Linqify this:聚合列表的子集,c#,linq,C#,Linq,假设我有一个项目列表或数组,我想对列表中项目的子集求和。(在我的例子中,它总是一个连续的子集) 这是一种老式的方式: int sum = 0; for(int i = startIndex; i <= stopIndex; i++) sum += myList[i].TheValue; return sum; 整数和=0; 对于(int i=startIndex;i 如果我经常做这类事情,我会定义一个helperTakeRange,它覆盖了Skip和Take,这样我就不会一个一个

假设我有一个项目列表或数组,我想对列表中项目的子集求和。(在我的例子中,它总是一个连续的子集)

这是一种老式的方式:


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

整数和=0;
对于(int i=startIndex;i
如果我经常做这类事情,我会定义一个helper
TakeRange
,它覆盖了
Skip
Take
,这样我就不会一个一个地忽略它。

在求和之前,你错过了一个。选择(x=>x.TheValue)。
myList.Skip(startIndex).Take(stopIndex - startIndex + 1).Sum(x => x.TheValue);