我有一个对象列表,其中的属性有一些重复项。我想根据条件获取所有非重复项以及其中 1 个重复项。
For eg.
Lists:
- 代码:1,等级:10
- 代码:1,等级:20
- 代码:2,等级:1
预期名单:
- 代码:1,等级:20
- 代码:2,等级:1
条件是重复元素,抓住最高的那个Grade
。我该如何编写 lambda 或 linq 表达式来执行此操作?
您可以使用GroupBy
去做这个:
var results = items.GroupBy(item => item.Code)
.Select(g => g.OrderByDescending(i => i.Grade)
.First());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)