我一直在使用Morelinq创建一个不同的对象列表。我的对象大约有20个属性,在最终列表中都不是唯一的。但是,一起使用的2个属性可以揭示唯一的对象:
父际ID |儿童ID
- 1 |1
- 1 |2
- 2 |1
- 2 |2
- 2 |3
我看到了这个问题,并认为这是同一问题,所以我下载了Morelinq并尝试使用:
list = list.DistinctBy(c => new { c.id, c.parentid }).ToList();
但是,这导致了这两个属性的独特列表,而不是两者(所以我每个父母只见一个孩子)
使用Morelinq实现这一目标的正确方法是什么?
list = list
.GroupBy(a=> new { a.id, a.parentid})
.Select(a=> a.first());