如何订购列表的项目并删除基于属性的重复项?

时间:2017-10-13 05:39:35

标签: c# linq

我是这堂课:

public class User
{
    public long Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Username { get; set; }

    public int Contributions { get; set; }
}

我的List<User>可以包含多个具有相同IdContributions值不同的商品。

我希望基于Id获得不同的值,但Contributions的{​​{1}}值最高。我怎样才能做到这一点?感谢。

我试过了,但这只是我想要的一部分:

Id

1 个答案:

答案 0 :(得分:6)

list.GroupBy(u => u.Id) // Distinct
    .Select(g => g.OrderByDescending(u => u.Contributions).First()); // Highest contributions