2016-09-23 9 views
0

LINQラムダを使用して文字列プロパティに対して一意の値を持つすべてのアイテムを取得しようとしています。例えば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

でグループを使用します。

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

SelectMany一つの配列に一つの要素の結果、グループを平らにするお手伝いをします。

関連する問題