📜  使用 lambda 从 c# 中的数据表中选择特定列 (1)

📅  最后修改于: 2023-12-03 15:22:13.724000             🧑  作者: Mango

使用 lambda 从 C# 中的数据表中选择特定列

在 C# 中,可以使用 lambda 表达式从数据表中选择特定列,lambda 表达式为匿名函数,可以方便地对数据表进行筛选和转换。

首先,我们需要定义一个数据表,可以使用 DataTable 类来创建数据表并添加数据。

DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));

dt.Rows.Add(1, "John", 30);
dt.Rows.Add(2, "Mary", 25);
dt.Rows.Add(3, "Peter", 40);

现在,我们可以使用 lambda 表达式从数据表中选择特定列,例如从上面的数据表中选择 NameAge 两列:

var results = dt.AsEnumerable().Select(row => new {
    Name = row["Name"],
    Age = row["Age"]
});

在上面的代码中,我们首先使用 AsEnumerable 方法将数据表转换为可枚举的序列,然后使用 Select 方法对序列中的每个元素进行转换。在 Select 方法中,我们使用 lambda 表达式指定转换规则,将每行中的 NameAge 列的值转换为一个新的匿名类型,并将结果保存在 results 变量中。

如果需要返回所有列,可以将 lambda 表达式改为 row => row,这样就可以返回所有列的值。

以上就是使用 lambda 从 C# 中的数据表中选择特定列的方法,通过 lambda 表达式的灵活性,我们可以方便地对数据表进行筛选和转换,提高开发效率。