我有一个包含三个属性(名称,严重性和出现次数)的对象列表。我需要检索所有匹配最高严重性的名称,然后检索严重性最高的匹配项。基于两个属性从列表中检索多个对象
所以给出的列表,如:
Name: Sev: Occ:
Foo 3 2
Bar 2 3
Foobar 2 3
我希望找回富。
给出一个列表,例如:
Name: Sev: Occ:
Foo 3 3
Bar 3 3
Foobar 2 4
我希望找回富和酒吧。
我认为重要的是要注意我只需要返回的名称,并且由于对象列表相对较小,我不关心多个循环...除了每次更改值时都会运行表格。
我承认我的linq-fu是可悲的不足。到目前为止,我已经尝试使用morelinq,使两遍......
List<Offenders> offenderList = new List<Offenders>();
// offenderList.Add appropriate data objects
var offSev = offenderList.MaxBy(x => x.Severity);
var offOcc = offSev.MaxBy(x => x.Occurrence);
我的希望是有一个只有我想要的结果列表(offOcc),然后我可以通过.Names属性迭代那个报告。相反,我得到的是一个错误:'违者'在第二条语句中不包含'MaxBy'的定义。