给定一个班级
public class data
{
public string x;
public double y;
}
List<data> myList = new List<data>();
然后用字符串“奇数”、字符串“偶数”和相应的数字填充该列表。
我如何使用 linq 获得所有 x = "odd" 的总和
这对大多数人来说都是基本的,请原谅我的无知...
由于您要问一个基本问题,请从这里开始:标准查询运算符概述。“相关部分”下的所有内容都值得一试。
答案中使用的函数的参考(带有示例)在这里:Where(predicate) , Sum(selector)
Use Where
to get only data
withx == "odd"
和 use Sum
to get the sum。
double sumOdd = myList.Where(d => d.x == "odd").Sum(d => d.y);
尝试这个
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) ;
你可以这样做:
var sum = myList.Where(d => d.x == "odd").Sum(d => d.y);
派对迟到了,但你不必使用Where
and Sum
:)
dataList.Aggregate(0, (result, next) => result + (next.x == "odd" ? next.y : 0.0));