1
我有list<result>
具有这些属性的结果对象{person
,score
,regdate
}。而且我只想从每个人中选择第一个注册分数(所以即使该人有更多结果,我也会得到每个人1个结果)。Lambda表达式。根据日期获得第一个结果,对于每个人
我需要这个,所以我可以使用它们来为第一次结果做出平均分数。
我有list<result>
具有这些属性的结果对象{person
,score
,regdate
}。而且我只想从每个人中选择第一个注册分数(所以即使该人有更多结果,我也会得到每个人1个结果)。Lambda表达式。根据日期获得第一个结果,对于每个人
我需要这个,所以我可以使用它们来为第一次结果做出平均分数。
如果调查结果的初步名单是:
List<Result> results=...
然后,你可以这样做:
var scores = results
.GroupBy(r => r.person.Id)
.Select(g => g
.OrderBy(res=>res.regdate)
.First()
);
谢谢,这看起来不错。我会尝试! :) – dodie 2013-04-30 10:56:03
这没有为我工作,但我发现了一个爽快的事情。 变种firstResults =导致 .GroupBy(X => x.Person) 。选择(G => g.Aggregate((R1,R2)=> r1.regDate
dodie
2013-05-03 08:47:16