我有一个List<Object>
n Objects
。在 n 个对象中,它们有一些相同的对象Id
。例子List<T> = {t1, t2, t3, t4, t5....,t10}.
假如说:
t1.Id = t5.id
所以我想从中t5
删除List
。
谁能帮帮我。
在这个问题中: 使用 LINQ 删除列表中的对象,您知道对象重复(例如:“bob”),但在我的问题中,在这个列表中,我不知道之前有任何对象重复。
我有一个List<Object>
n Objects
。在 n 个对象中,它们有一些相同的对象Id
。例子List<T> = {t1, t2, t3, t4, t5....,t10}.
假如说:
t1.Id = t5.id
所以我想从中t5
删除List
。
谁能帮帮我。
在这个问题中: 使用 LINQ 删除列表中的对象,您知道对象重复(例如:“bob”),但在我的问题中,在这个列表中,我不知道之前有任何对象重复。
仅使用 LINQ to Objects:
source = source.GroupBy(t => t.id).Select(g => g.First()).ToList();
您可以使用moreLinq(从 NuGet 获取)扩展DistinctBy
var result = list.DistinctBy(x => x.Id).ToList();
试试这个:
list.RemoveAll(input => list.Count(i => i.Id == input.Id) > 1);
var res = items.GroupBy(item => item.Id).Select(item2 => item2.First()).ToList();