【问题标题】:Retrieving distinct objects in a list based on a property values根据属性值检索列表中的不同对象
【发布时间】:2015-10-15 10:31:31
【问题描述】:

抱歉,

我有点想明白这一点。

我需要根据 'Answer' 的属性值和 EmployeeNumber 的属性值获取以下列表中的不同值

我从数据库中检索了值

EmployeeNumber     Answer
1234         a
1234         a
1234         c

9986         a
9986         a
9986         a

9987         b
9987         b
9987         a

我的列表结果应该是这样的

EmployeeNumber     Answer
1234         a
1234         c

9986         a

9987         b
9987         a

我怎样才能做到这一点?

我从以下 var list1 = usersDevicesused.DistinctBy(x => x.Answer).ToList(); 开始,然后只带回 3 个值,这不是我所追求的。

亲切的问候

【问题讨论】:

    标签: c# lambda distinct


    【解决方案1】:

    您想按EmployeeNumber + Answer 分组,然后取每个组的第一个:

    var list1 = usersDevicesused
        .GroupBy(x => new { x.EmployeeNumber, x.Answer })
        .Select(grp => grp.First())
        .ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2012-05-18
      • 2019-06-05
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 2017-01-06
      相关资源
      最近更新 更多