使用Linq/Lambda将DataTable转换为字典可以通过以下步骤实现:
AsEnumerable()
方法将DataTable转换为可枚举的集合。ToDictionary()
方法将集合转换为字典。在ToDictionary()
方法中,需要指定键和值的选择器函数。下面是一个示例代码:
using System;
using System.Data;
using System.Linq;
public class Program
{
public static void Main()
{
// 创建一个示例的DataTable
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Rows.Add(1, "John");
dataTable.Rows.Add(2, "Jane");
dataTable.Rows.Add(3, "Tom");
// 使用Linq/Lambda将DataTable转换为字典
var dictionary = dataTable.AsEnumerable()
.ToDictionary(row => row.Field<int>("ID"), row => row.Field<string>("Name"));
// 打印字典中的键值对
foreach (var kvp in dictionary)
{
Console.WriteLine("Key: " + kvp.Key + ", Value: " + kvp.Value);
}
}
}
输出结果为:
Key: 1, Value: John
Key: 2, Value: Jane
Key: 3, Value: Tom
在这个示例中,我们首先创建了一个包含两列的DataTable,并添加了几行数据。然后使用Linq的AsEnumerable()
方法将DataTable转换为可枚举的集合。接着使用ToDictionary()
方法将集合转换为字典,其中键选择器函数为row => row.Field<int>("ID")
,值选择器函数为row => row.Field<string>("Name")
。最后,我们遍历字典并打印出键值对。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云