【问题标题】:morelinq distinct by multiple propertiesmorelinq 因多个属性而异
【发布时间】:2015-07-16 10:07:12
【问题描述】:

我一直在使用 morelinq 创建一个不同的对象列表。我的对象有大约 20 个属性,在最终列表中没有一个是唯一的。 然而,两个属性一起使用可以揭示独特的对象:

父 ID |孩子身份证

  • 1 | 1
  • 1 | 2
  • 2 | 1
  • 2 | 2
  • 2 | 3

我看到 this question 并认为这是同样的问题,所以我下载了 morelinq 并尝试使用:

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

但是,这会导致任一属性上的不同列表,而不是两者(所以我只会看到每个父母一个孩子)

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

【问题讨论】:

  • 改用 Groupby。

标签: c# linq visual-studio-2013 distinct-values morelinq


【解决方案1】:
    list = list
           .GroupBy(a=> new { a.id, a.parentid})
           .Select(a=> a.first());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 2010-10-27
    • 1970-01-01
    • 2014-01-20
    • 2018-06-05
    • 2012-04-17
    • 2021-11-12
    相关资源
    最近更新 更多