0

给定一个班级

public class data
{
   public string x;
   public double y;
}

List<data> myList = new List<data>();

然后用字符串“奇数”、字符串“偶数”和相应的数字填充该列表。

我如何使用 linq 获得所有 x = "odd" 的总和

这对大多数人来说都是基本的,请原谅我的无知...

4

5 回答 5

4

由于您要问一个基本问题,请从这里开始:标准查询运算符概述。“相关部分”下的所有内容都值得一试。

答案中使用的函数的参考(带有示例)在这里:Where(predicate) , Sum(selector)

于 2013-08-19T15:52:28.223 回答
3

Use Whereto get only datawithx == "odd"和 use Sumto get the sum。

double sumOdd = myList.Where(d => d.x == "odd").Sum(d => d.y);
于 2013-08-19T15:41:00.667 回答
3

尝试这个

 List<data> myList = new List<data>();
 var odd = myList.Where(p => p.x == "odd").Sum(z => z.y) ;
 var even = myList.Where(p => p.x == "even").Sum(z => z.y) ;
于 2013-08-19T15:41:13.820 回答
3

你可以这样做:

var sum = myList.Where(d => d.x == "odd").Sum(d => d.y);
于 2013-08-19T15:43:52.010 回答
3

派对迟到了,但你不必使用Whereand Sum:)

dataList.Aggregate(0, (result, next) => result + (next.x == "odd" ? next.y : 0.0));
于 2013-08-19T15:58:13.377 回答