morelinq 由多个属性区分
morelinq distinct by multiple properties
我一直在使用 morelinq 创建一个不同的 objects 列表。我的 objects 有大约 20 个属性,其中 none 在最终列表中将是唯一的。
然而,将 2 个属性一起使用可以揭示独特的 objects:
Parent 编号 | Child 身份证
- 1 | 1
- 1 | 2
- 2 | 1
- 2 | 2
- 2 | 3
我看到 this question 并认为这是同样的问题所以我下载了 morelinq 并尝试使用:
list = list.DistinctBy(c => new { c.id, c.parentid }).ToList();
然而,这会导致在 EITHER 属性 上产生不同的列表,而不是在两者上产生不同的列表(所以我只会看到一个 child 每个 parent)
使用 morelinq 实现此目的的正确方法是什么?
list = list
.GroupBy(a=> new { a.id, a.parentid})
.Select(a=> a.first());
我一直在使用 morelinq 创建一个不同的 objects 列表。我的 objects 有大约 20 个属性,其中 none 在最终列表中将是唯一的。 然而,将 2 个属性一起使用可以揭示独特的 objects:
Parent 编号 | Child 身份证
- 1 | 1
- 1 | 2
- 2 | 1
- 2 | 2
- 2 | 3
我看到 this question 并认为这是同样的问题所以我下载了 morelinq 并尝试使用:
list = list.DistinctBy(c => new { c.id, c.parentid }).ToList();
然而,这会导致在 EITHER 属性 上产生不同的列表,而不是在两者上产生不同的列表(所以我只会看到一个 child 每个 parent)
使用 morelinq 实现此目的的正确方法是什么?
list = list
.GroupBy(a=> new { a.id, a.parentid})
.Select(a=> a.first());