将匿名类型组传递给函数

Mid*_*hat 1 .net c# linq anonymous-types

我需要将匿名类型索引上的 IGrouping 传递给函数。

 List<DataClass> sampleList = new List<DataClass>();
 var groups = sampleList.GroupBy(item => new { item.A, item.B, item.C }); 
Run Code Online (Sandbox Code Playgroud)

我需要用一个函数处理每个组。所以我写了这个有效的。

static void ProcessGroup<T>(IGrouping<T, DataClass> group)
        { 
        //consume group

        }
Run Code Online (Sandbox Code Playgroud)

现在我需要知道为什么会这样,以及它是否是传递此类数据的正确方法。我只是预感这可能会起作用。

Eri*_*ert 5

我需要知道为什么这有效

它之所以有效,是因为它是 C# 规范中描述的合法 C# 程序。具体来说,C# 4 规范的第 7.5.2 节。

这是传递这种数据的正确方法吗?

对我来说看起来不错。