2024年4月21日发(作者:)
使用linq将2个Datatable合并
在LINQ中,我们可以使用`Union`方法将两个DataTable合并成一个。
`Union`方法返回两个DataTable中所有不同的行。
假设我们有两个DataTable:DataTable1和DataTable2、每个
DataTable都有相同的结构和相同的列。要将它们合并,我们需要按以下
步骤进行操作:
1. 导入命名空间,以便我们可以在代码中使用LINQ扩
展方法。
2. 使用`Union`方法合并两个DataTable,并将结果保存在一个新的
DataTable中。
下面是一个使用LINQ将两个DataTable合并的示例代码:
```csharp
using System;
using ;
using ;
public class Program
public static void Main
// 创建两个示例DataTable
DataTable dataTable1 = new DataTable(;
DataTable dataTable2 = new DataTable(;
//添加示例列
("Id", typeof(int));
("Name", typeof(string));
("Id", typeof(int));
("Name", typeof(string));
// 向示例DataTable中添加示例行
(1, "John");
(2, "Mary");
(3, "Peter");
(4, "Sara");
DataTable mergedTable =
erable(.Union(erable().CopyToD
ataTable(;
//输出合并结果
foreach (DataRow row in )
ine(row["Id"] + " " + row["Name"]);
}
}
```
在上面的示例代码中,我们首先创建了两个示例DataTable:
dataTable1和dataTable2、每个DataTable都有两个列(Id和Name)。
然后,我们向每个DataTable添加了一些示例行。
接下来,我们使用LINQ的`Union`方法将两个DataTable合并为一个
新的DataTable。我们使用`AsEnumerable`方法将DataTable转换为
`IEnumerable
最后,我们调用`CopyToDataTable`方法将合并结果转换回DataTable。
最后,我们使用foreach循环遍历合并后的DataTable,将每行的Id
和Name输出到控制台。
以上就是使用LINQ将两个DataTable合并的简单示例。希望能帮到
你!


发布评论