按多列分组 - LINQ

H20*_*der 5 c# linq

我已经看到了按列分组的示例,但是对于类.我正在尝试为EnumerableDataRowList执行此操作.但我得到"无效的匿名类型成员声明者."

                    EnumerableDataRowList<DataRow> enumerableRowCollection = new EnumerableDataRowList<DataRow>(reportData.Select("WeekKey <> '0'"));


                var groupedRows1 = from row in enumerableRowCollection
                                  group row by new {row["NETWORK"], row["Week"] };
Run Code Online (Sandbox Code Playgroud)

另外,我看到有些人在某些情况下将列组合起来得到相同的结果.这样做有什么好处

Dan*_*fer 12

您必须为值分配标识符:

         var groupedRows1 = from row in enumerableRowCollection
                            group row by new { Network = row["NETWORK"], Week = row["Week"] };
Run Code Online (Sandbox Code Playgroud)

如果您正在使用字段或属性引用,通常不需要指定标识符,因为它只会重用该成员的名称 - 但在这种情况下,您正在访问索引器属性,因此无法获取它的名字.