列挙可能な拡張機能はあなたの友達です (あなたの友達ですか? :)
var groups = lists.GroupBy(item => new { item.code1, item.code2 });
そして....私がやった前の伝説的なスキートヒットポスト、残念!
ワンアップ スキート (は、右) の時間。共通項目を辞書にグループ化することもできます。
var mapping = list
.GroupBy(item => new { item.code1, item.code2 })
.ToDictionary(g => g.Key, g => g.ToList());
現在、マッピングはDictionary<anon{code1, code2}, List<YourObject>>
. もちろん、値の ToList を除外することもできます。ディクショナリの値の型は、IEnumerable である IGrouping になります。
ToLookup を使用することもできます
var lookup = list.ToLookup(item => new { item.code1, item.code2 });
結果は、指定されたキー タイプのキーを持つ ILookup であり、使用されるリスト タイプの IEnumerable です。辞書ではありませんが、同様に使用できます。