Reputation: 17840
I needed to pass a IGrouping on an anonymously typed index to a function.
List<DataClass> sampleList = new List<DataClass>();
var groups = sampleList.GroupBy(item => new { item.A, item.B, item.C });
I needed to process each of the groups with a function. So I wrote this which works.
static void ProcessGroup<T>(IGrouping<T, DataClass> group)
{
//consume group
}
Now I need to know why this works and Is it the right way to do pass around this kind of data. I just wrote it on a hunch that this might work.
Upvotes: 3
Views: 2782
Reputation: 660493
I need to know why this works
It works because that is a legal C# program as described by the C# specification. Specifically, section 7.5.2 of the C# 4 spec.
is it the right way to pass around this kind of data?
Looks fine to me.
Upvotes: 6