使用 Linq 执行此操作的最佳方法是什么?
我有一个包含两个属性的列表:数字和百分比。
有时列表中有重复的数字:
-----------------------------
Number: 182 | Percentage: 15%
Number: 182 | Percentage: 70%
...
当发现重复的 Number 时,我想选择两个百分比值中最小的对象,并将这些结果转移到一个新的 List 中。
最佳答案
尝试以下操作
var list = originalList
.GroupBy(x => x.Number)
.Select(x => x.OrderBy(y => y.Percentage).First())
.ToList();
此查询将首先按 Number
值对项目进行分组。然后它将按百分比对每个组进行排序并选择第一个元素(最低)。
关于C# - 找到重复键时选择两个值中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878080/