Can I / should I enumerate over an IGrouping more than once?
var groupings = myList.GroupBy(listElement => listElement.Key);foreach(var groupoing in groupings){ foreach(var elt in grouping) DoSomething(elt); foreach(var elt2 in grouping) DoSomethingElse(elt2);}
var groupings = myList.GroupBy(listElement => listElement.Key);foreach(var groupoing in groupings){ foreach(var elt in grouping) DoSomething(elt); foreach(var elt2 in grouping) DoSomethingElse(elt2);}
Is this code correct / safe? Is it safe to iterate an IGrouping more than once? Or should I rather do:
var groupings = myList.GroupBy(listElement => listElement.Key);foreach(var grouping in groupings){ var groupingList = grouping.ToList(); foreach(var elt in groupingList) DoSomething(elt); foreach(var elt2 in groupoingList) DoSomethingElse(elt2);}
var groupings = myList.GroupBy(listElement => listElement.Key);foreach(var grouping in groupings){ var groupingList = grouping.ToList(); foreach(var elt in groupingList) DoSomething(elt); foreach(var elt2 in groupoingList) DoSomethingElse(elt2);}