删除项目在列表C#中具有相同的键

Remove Item have same key in List C#

本问题已经有最佳答案,请猛点这里访问。

我有一个Listn Objects。在n个对象中,有些对象具有相同的Id。示例List = {t1, t2, t3, t4, t5....,t10}.

假设:

t1.Id = t5.id

所以我想把t5List中去掉。

谁能帮我呢。

在这个问题中:使用LINQ删除列表中的对象,您知道对象重复(例如:"bob"),但在我的问题中,在这个列表中,我以前不知道任何对象重复。


仅使用Linq to对象:

1
source = source.GroupBy(t => t.id).Select(g => g.First()).ToList();


您可以使用morelinq(从nuget获取)扩展名DistinctBy

1
var result = list.DistinctBy(x => x.Id).ToList();


试试这个:

1
list.RemoveAll(input => list.Count(i => i.Id == input.Id) > 1);

1
var res = items.GroupBy(item => item.Id).Select(item2 => item2.First()).ToList();