c# - 如何在 DataRow 上使用 .ToDictionary() 扩展方法

标签 c# linq

我需要一个 Dictionary<string,object>这是从 DataRow 产生的。我目前有一些适合这项工作的东西,但我做的太多了,没有使用 .ToDictionary() 扩展方法。

有人可以告诉我如何成功完成此任务吗?

这是我失败的尝试:

var dataDictionary = dataTable.Select(acn + "=" + accountNumber).ToDictionary(key => key.Table.Columns);

这将返回一个 KeyValuePair<DataColumnCollection, DataRow> , 但同样,我需要一个 Dictionary<string,object>

再次提前致谢!

最佳答案

我知道这是旧的,但对于那些后来出现的人来说,正确的 LINQ 表达式是对 driis 代码的轻微修改:

var dictionary = row.Table.Columns
    .Cast<DataColumn>()
    .ToDictionary(col => col.ColumnName, col => row.Field<string>(col.ColumnName));

关于c# - 如何在 DataRow 上使用 .ToDictionary() 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4798374/

相关文章:

c# - 查看 TortoiseGit 生成的 git 命令

c# - 我可以让所有使用相同 key 签名的程序集都可以看到内部结构吗?

c# - Azure 存储表插入失败并显示 "One of the request inputs is not valid"

c# - 比较 EF Core Linq 查询中的日期时间

c# - 如果我使用 LINQ,如何限制搜索字符

.net - 比较项目值的问题

c# - Resharper 颜色标识符加粗变量

c# - 如何不根据属性值序列化对象?

c# - 使用带有谓词的 linq 无法识别表达式节点 ArrayIndex

c# - 带有自定义基础集合的 Linq