C# 使用LINQ从由另一个属性分组的列表中删除除最高值以外的所有值

C# 使用LINQ从由另一个属性分组的列表中删除除最高值以外的所有值,c#,linq,C#,Linq,我有两个类似这样的类(为此简化): 我想在我的列表中使用LINQRemove函数,这样我的最终结果是: Name Amount ---------------- A 2 C 1 B 4 关于如何使用LINQ实现这一点,有什么建议吗?我也在寻找自己的解决方案,只是想在这里发布,看看这是否比我自己解决快。:) 以下是一种方法: var endResult = reviewList.OrderByDescendi

我有两个类似这样的类(为此简化):

我想在我的列表中使用LINQ
Remove
函数,这样我的最终结果是:

Name      Amount
----------------
A              2
C              1
B              4

关于如何使用LINQ实现这一点,有什么建议吗?我也在寻找自己的解决方案,只是想在这里发布,看看这是否比我自己解决快。:)

以下是一种方法:

var endResult = reviewList.OrderByDescending(e => e.Amount)
             .GroupBy(e => e.Name)
             .Select(g => g.First());
Name      Amount
----------------
A              2
C              1
B              4
var endResult = reviewList.OrderByDescending(e => e.Amount)
             .GroupBy(e => e.Name)
             .Select(g => g.First());