假设我有以下数据:

Name    Priority
A       3
A       5
B       1
C       1
C       3
C       2

我想获得具有最高优先级的不同名称的列表,因此结果如下所示:
Name    Priority
A       5
B       1
C       3

如何使用Linq做到这一点?

最佳答案

var query = yourData
    .GroupBy(x => x.Name,
             (k, g) => g.Aggregate((a, x) => (x.Priority > a.Priority) ? x : a));

// and a quick test...
foreach (var result in query)
{
    Console.WriteLine(result.Name + " " + result.Priority);
}

关于c# - 如何使用Linq获得最大的值(value)与众不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4873984/

10-13 08:32