2016-09-23 63 views
0

嘗試使用LINQ lambda獲取具有字符串屬性的唯一值的所有項目。C#LINQ只選擇具有唯一屬性的項目

例如:

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

返回:

Col_1 Col_2 
2  "BBB" 
4  "CCC" 

不知道如何不遍歷列表兩次實現這一目標。

回答

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

使用GROUP BY:

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

SelectMany將幫助你壓扁一個元素的結果組一個序列。