2

List<T>where Tis a custom object がありますCow。現在、次のコードを使用して、に基づいてそのリストを分割していColorます。

cowGroups = from x in cows
            group x by x.Color into y
            select y.ToList().ToList();

次に、 を取得cowGroupsして実行し、foreachそれぞれに対して一連のアクションを実行しますCow。このリストは実際には次のようになりますIEnumerable<List<Cow>>

私がやろうとしているのはList<Cow>、色とサイズに基づいてグループ化できるように、イニシャルを二重にグループ化することです。結果は のままである必要がありますがIEnumerable<List<Cow>>、それぞれList<Cow>は色とサイズの組み合わせに基づいて作成されます。

同僚がToLookupアプローチを推奨しましたが、それはキーと値のペアのリストを返し、ペアの値の部分で何もできないようです。

リストのコレクションに直接行く方法、またはアプローチの結果をリストのコレクションに変える方法を探していると思いToLookupます。

4

1 に答える 1

5

両方の属性を含むクラスでグループ化できます。

group x by new { x.Color, x.Size } into y
于 2013-05-13T20:07:22.220 に答える