我们希望将GroupBy已知类作为分组键.它似乎不起作用 - LINQ似乎需要与匿名类组合.
GroupBy已知类作为分组键?这个问题与为什么使用匿名类型工作和使用不在GroupBy中的显式类型不同?因为它询问如何使用GroupBy已知的类.
这是一个小提琴,显示哪些有效,哪些无效.失败的那个不会创建一个组.
public static void Works(EnumerableRowCollection<DataRow> dataRows)
{
var grouped = dataRows.GroupBy(
row => new {
Name = row["Name"]
},
(k, g) => new {
Key = k,
Group = g.CopyToDataTable()
});
}
public static void Fails(EnumerableRowCollection<DataRow> dataRows)
{
var grouped = dataRows.GroupBy(
row => new GroupingKey {
Name = row["Name"]
},
(k, g) => new {
Key = k,
Group = g.CopyToDataTable()
});
}
Run Code Online (Sandbox Code Playgroud)