2017-01-10 8 views
0

私はmyGroupというLinqグループの結果セットを持っています。 myGroupが、私はためのループを介してこれを反復処理しようとしています<文字列、myObjectという>Linqグループの結果セットでループを繰り返し使用する

をIGrouping

のタイプです。どのように私は、forループを使用して同じことを達成することができます

foreach (var item in group) 
{ 
    Console.WriteLine(item.Id); 
} 

現在、私はこのような何かを行うことができますか?私は以下のようなものをやってしようとし

for (int i = 0; i < myGroup.Count(); i++) 
     { 
      // Now How can I access the current myGroup Item? 
      //I DO NOT have ElementAt() property in myGroup. 
      myGroup.ElementAt(i).Id // THIS IS NOT POSSIBLE 
     } 

が、私は、私は、forループ

+0

お客様の要件をより明確にしてください。 –

+0

なぜ 'for'に具体的に移動したいのですか? – Prajwal

+0

@ un-lucky、私はそれをもっと明確にするために質問を編集しました。 – Benjamin

答えて

2

にmyGroupが現在の要素にアクセスする方法を知りませんがここでElementAt()を使用した作業サンプルです:

public class Thing 
{ 
    public string Category { get; set; } 
    public string Item { get; set; } 
} 

class Program 
{ 
    static void Main(string[] args) 
    { 
     var foos = new List<Thing> 
     { 
      new Thing { Category = "Fruit", Item = "Apple" }, 
      new Thing { Category = "Fruit", Item = "Orange" }, 
      new Thing { Category = "Fruit", Item = "Banana" }, 
      new Thing { Category = "Vegetable", Item = "Potato" }, 
      new Thing { Category = "Vegetable", Item = "Carrot" } 
     }; 

     var group = foos.GroupBy(f => f.Category).First(); 

     for (int i = 0; i < group.Count(); i++) 
     { 
      Console.WriteLine(group.ElementAt(i).Item); //works great 
     } 
    } 
} 
関連する問題