我一直在使用morelinq来创建对象的不同列表。我的对象大约有20个属性,这些属性在最终列表中都不是唯一的。
但是,一起使用的2个属性可以揭示独特的对象:

家长编号|儿童编号


1 | 1个
1 | 2
2 | 1个
2 | 2
2 | 3


我看到this question并认为是相同的问题,因此我下载了morelinq并尝试使用:

list = list.DistinctBy(c => new { c.id, c.parentid }).ToList();


但是,这会在EITHER属性上产生一个唯一的列表,而不是同时列出两个列表(所以我每个父母只会看到一个孩子)

使用morelinq实现此目标的正确方法是什么?

最佳答案

    list = list
           .GroupBy(a=> new { a.id, a.parentid})
           .Select(a=> a.first());

关于c# - morelinq具有多种特性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30073887/

10-13 06:30