2017-01-10 82 views
0

我有一個名爲myGroup的Linq組結果集。爲myGroup是IGrouping <字符串類型的用於循環遍歷Linq組結果集

,myObject的>

我試圖通過通過這個迭代爲循環。

目前,我可以做這樣的事情:

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 
     } 

,但我不知道我怎麼可以訪問爲myGroup當前元素在for循環

+0

您能否更清楚您的要求? –

+0

爲什麼你想特意移動到'for'? – Prajwal

+0

@不幸運,我編輯了這個問題,使其更加清晰。 – Benjamin

回答

2

這是一個使用的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 
     } 
    } 
}