C#LINQ仅选择具有唯一属性的项目

时间:2016-09-23 19:44:45

标签: c# linq

尝试使用LINQ lambda来获取具有字符串属性唯一值的所有项目。

例如:

Col_1    Col_2
1        "AAA"
2        "BBB"
3        "AAA"
4        "CCC"

返回:

Col_1    Col_2
2        "BBB"
4        "CCC"

不确定如何在不迭代列表两次的情况下实现此目的。

2 个答案:

答案 0 :(得分:4)

q.GroupBy(x => x.Col_2).Where(g => g.Count() == 1).SelectMany(g => g)

答案 1 :(得分:1)

使用分组:

var result= collection.GroupBy(e=>e.Col_2).Where(g=>g.Count()==1).SelectMany(g=>g);

SelectMany将帮助您在一个序列中展平一个元素的结果组。