我正在尝试转换表单的DataTable
Key Value
1 A
1 B
1 C
2 X
2 Y
Run Code Online (Sandbox Code Playgroud)
到字典
1 [A,B,C]
2 [X,Y]
Run Code Online (Sandbox Code Playgroud)
我正在使用的lambda表达式是
GetTable("..sql..").AsEnumerable().
.Select(r => new {Key = r.Field<int>("Key"), Val = r.Field<string>("Value")})
.GroupBy(g => g.Key)
.ToDictionary(a => a.Key, a => String.Join(",", a.Value))
Run Code Online (Sandbox Code Playgroud)
但它失败了"无法将lambda表达式转换为'System.Collections.Generic.IEqualityComparer',因为它不是委托类型"
我怎么能做到这一点?
这是这样做的:
GetTable("..sql..").AsEnumerable().
.Select(r => new {Key = r.Field<int>("Key"), Val = r.Field<string>("Value")})
.GroupBy(g => g.Key)
.ToDictionary(a => a.Key, a => String.Join(",", a.Select(x => x.Value).ToList()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2301 次 |
| 最近记录: |