在按另一个属性过滤后,按一个属性对列表求和
本文关键字:属性 一个 列表 求和 过滤 另一个 | 更新日期: 2023-09-27 18:13:51
我有一个类:
class Cars
{
String Part;
int NrOfParts;
}
和a List<Cars>
。
我想使用lambda表达式获得特定Part
的NrOfParts
的sum
。
我想要这样的东西:
double sum = sil.Sum(item => item.NrOfParts WHERE item.Part == SomePart);
其中sil
是我的列表,SomePart
是我正在寻找的特定部分。
问题是我不知道如何添加where
条件来限制对特定情况的搜索
您需要先放置where子句(使用where方法),然后对过滤后的列表求和。
double sum = sil.Where(i => i.Part == SomePart).Sum(i => i.NrOfParts);
你可以这样做:
double sum = sil.Where(item => item.Part == SomePart).Sum(item => item.NrOfParts);
试试这个:-
double sum = Convert.ToDouble(sil.Where(item => item.Part == SomePart).Sum(item => item.NrOfParts));
//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;
}
}
}