我有一个班级:
class Cars
{
String Part;
int NrOfParts;
}
和List<Cars>
。
我想使用lambda表达式获取特定sum
的{{1}} NrOfParts
。
我想要这样的事情:
Part
其中 double sum = sil.Sum(item => item.NrOfParts WHERE item.Part == SomePart);
是我的列表,sil
是我正在寻找的特定部分。
问题在于我不知道如何添加SomePart
条件来限制搜索特定案例。
答案 0 :(得分:4)
您需要先放置where子句(使用where方法),然后对已过滤的列表求和。
double sum = sil.Where(i => i.Part == SomePart).Sum(i => i.NrOfParts);
答案 1 :(得分:3)
您可以使用:
double sum = sil.Where(item => item.Part == SomePart).Sum(item => item.NrOfParts);
答案 2 :(得分:1)
试试这个: -
double sum = Convert.ToDouble(sil.Where(item => item.Part == SomePart).Sum(item => item.NrOfParts));
答案 3 :(得分:-1)
//Your range will come here
IEnumerable<double> d=Enumerable.Range(2.67,100);
// Your condition
d.Where(d1 => d1 % 2.0 == 0).CumulativeSum();
public static class Extension
{
public static IEnumerable<double> CumulativeSum(this IEnumerable<double> sequence)
{
double sum = 0;
foreach (var item in sequence)
{
sum += item;
yield return sum;
}
}
}