在按另一个属性过滤后,按一个属性对列表求和

本文关键字:属性 一个 列表 求和 过滤 另一个 | 更新日期: 2023-09-27 18:13:51

我有一个类:

class Cars 
{
   String Part;
   int NrOfParts;
}

和a List<Cars>

我想使用lambda表达式获得特定PartNrOfPartssum

我想要这样的东西:

 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;
            }
        }
    }