Asp.net Lambda表达式。按日期获取每个人的第一个结果

Asp.net Lambda表达式。按日期获取每个人的第一个结果,asp.net,list,lambda,Asp.net,List,Lambda,我有列表的结果对象,这些对象具有以下属性{person,score,regdate}。我只想选择每个人的第一个注册分数(因此,我为每个人得到1个结果,即使这个人有更多的结果) 我需要这个,这样我就可以用它们来为第一次的结果做一个平均分数。如果您的初始结果列表是: List<Result> results=... 这对我不起作用,但我找到了一种有效的方法。var firstResults=result.GroupBy(x=>x.Person)。选择(g=>g.Aggregate((r

我有
列表
的结果对象,这些对象具有以下属性{
person
score
regdate
}。我只想选择每个人的第一个注册分数(因此,我为每个人得到1个结果,即使这个人有更多的结果)


我需要这个,这样我就可以用它们来为第一次的结果做一个平均分数。

如果您的初始结果列表是:

List<Result> results=...

这对我不起作用,但我找到了一种有效的方法。var firstResults=result.GroupBy(x=>x.Person)。选择(g=>g.Aggregate((r1,r2)=>r1.regDatevar scores = results .GroupBy(r => r.person.Id) .Select(g => g .OrderBy(res=>res.regdate) .First() );