给出一个班级
public class data
{
public string x;
public double y;
}
List<data> myList = new List<data>();
然后使用字符串“odd”,字符串“even”和相应的数字填充列表。
如何使用linq
得到所有x =“odd”的总和这是最基本的,请原谅我的无知......
答案 0 :(得分:4)
由于您提出了一个基本问题,请从此处开始:Standard Query Operators Overview。 “相关部分”下的所有内容都值得一试。
答案中使用的函数的参考(带示例)位于:Where(predicate),Sum(selector)
答案 1 :(得分:3)
使用Where
仅data
获取x == "odd"
并使用Sum
获取总和。
double sumOdd = myList.Where(d => d.x == "odd").Sum(d => d.y);
答案 2 :(得分: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) ;
答案 3 :(得分:3)
你可以这样做:
var sum = myList.Where(d => d.x == "odd").Sum(d => d.y);
答案 4 :(得分:3)
晚会,但你没有 使用Where
和Sum
:)
dataList.Aggregate(0, (result, next) => result + (next.x == "odd" ? next.y : 0.0));