2011-02-17 12 views
1

私はこれを行う簡単な方法があります確信しているが、私はそれを考え出すことができないと、コレクション...分割LINQ

私はグループの文字列フィールドのコレクションを持っています。私がしたいのは、そのコレクションを各グループの(n)個のコレクションに分割することです。私はこのようなループで終わるでしょう:

foreach (var group in groups) 
{ 
    foreach (var item in group) 
    { 
     //process item. 
    } 
} 

そこに任意のガイダンスは???ありがとう!例えば

編集:私は3つの要素を持つコレクションを取得したいのですが

​​

これを考えます。要素1は人の集合(Does)、要素2は人の集合(The Barkers)、要素3はBilly Bobとのコレクションになります。

+1

上に読んで、各グループ内の各人物を反復

var groupedCollection = from person in people group person by person.LastName; // or use .GroupBy() foreach (var group in groupedCollection) { var lastName = group.Key; foreach (var person in group) { // do stuff with person } } 

コレクション要素はもう少しを入力し説明してください。サンプル入力と期待される出力を例にして詳しく説明します。 – Gishu

+0

@ Gishu:編集を参照してください。 –

答えて

5

多分、GroupByは役に立ちますか?

var grouped = groups.GroupBy(g => g.Group); 
+0

GroupByがキーでした。ありがとう!! –

2

EDIT:例に合ったものにしました。その後、彼らの最後の名前で私たちのグループの人々を、グループを反復、より多くのグループ化のサンプルhere

+0

これは私に別のグループ名を与えるようです。グループに分類されているコレクション内のアイテムを切り離したいと思います。私の編集例を見てください。 –

+0

編集された答えをチェックアウト –

+0

ああ、入力のおかげで。私はGroupBy操作の結果を間違って調べていました。それは私がしたいことをします。 LINQ FTW! –