1

私はリストを持っています

Class =>       Second      Third   Second  Fourth  Fifth  Second

Position =>     2           3       2       5        1     3 

同じクラスと同じ位置を持つ新しいリストを作成したい

つまり、新しいリスト

Class  =>      Second       Second

Postion =>       2             2


Class  =>         Second

Position =>         3


Class  =>          Third

Position =>          3

等々

親リストで複数のGroupByを使用してこれらの異なるリストを作成できますか、それとも最初にGroupBy "Class"、次に "Position"にする必要がありますか?

4

3 に答える 3

6

...そして、一度に2つのことでグループ化する方法について:

var groupedByTwoThingsAtOnce = myList
    .GroupBy(i => new { Class = i.Class, Position = i.Position });
于 2013-02-09T10:17:13.813 に答える
5

一度にグループ化しpositionますclass。1つGroupBy()

例えば:

var groupedByTwoThingsAtOnce = myList
   .GroupBy(i => new { Class = i.Class, Position = i.Position });
于 2013-02-09T10:14:12.727 に答える
3

グループ化には匿名タイプを使用し、次にGroupByを任意の数のプロパティに使用できます。次のようなものである可能性があります

.GroupBy(item => new {ClassGroup = item.Class, PositionGroup = item.Position})

匿名タイプを使用できる場合(たとえば、現在のメソッドからグループ化された結果を返す必要がある場合)、タプルを使用することもできます。

.GroupBy(item => new Tuple<string, int>(item.Class, item.Position))
于 2013-02-09T10:20:23.773 に答える