多列分组 - LINQ

5

我看过一些关于按列进行多重分组的示例,但是针对类。现在我想尝试在一个可枚举的DataRowList上进行这样的操作,但是我得到了“无效的匿名类型成员声明”错误。

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


                var groupedRows1 = from row in enumerableRowCollection
                                  group row by new {row["NETWORK"], row["Week"] };

在某些情况下,我看到有人将列组合起来以获得相同的结果。这样做有什么好处吗?

1个回答

12

你需要为值分配一个标识符:

         var groupedRows1 = from row in enumerableRowCollection
                            group row by new { Network = row["NETWORK"], Week = row["Week"] };

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接