我一直在使用morelinq来创建一个独特的对象列表。我的对象有大约20个属性,在最终列表中没有一个属性是唯一的。 但是,一起使用的两个属性可以揭示唯一对象:
家长ID |儿童身份
我看到this question并认为这是同样的问题,所以我下载了更多的林书并尝试使用:
list = list.DistinctBy(c => new { c.id, c.parentid }).ToList();
然而,这会在EITHER属性上产生一个不同的列表,而不是两者(所以我只会看到每个父项有一个孩子)
使用morelinq实现此目的的正确方法是什么?
答案 0 :(得分:3)
list = list
.GroupBy(a=> new { a.id, a.parentid})
.Select(a=> a.first());