gpt4 book ai didi

c# - 将 DataTable 转换为 > 字典的 Linq 表达式

转载 作者:太空狗 更新时间:2023-10-29 22:59:22 28 4
gpt4 key购买 nike

我正在尝试转换表单的 DataTable

Key  Value
1 A
1 B
1 C
2 X
2 Y

字典

1 [A,B,C]
2 [X,Y]

我使用的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))

但它失败了“无法将 lambda 表达式转换为类型‘System.Collections.Generic.IEqualityComparer’,因为它不是委托(delegate)类型”

我怎样才能做到这一点?

最佳答案

这样做:

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()))

关于c# - 将 DataTable 转换为 <Key, List<Values>> 字典的 Linq 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21617932/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com