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`,然后调用`Union`方法合并两个DataTable。

最后,我们调用`CopyToDataTable`方法将合并结果转换回DataTable。

最后,我们使用foreach循环遍历合并后的DataTable,将每行的Id

和Name输出到控制台。

以上就是使用LINQ将两个DataTable合并的简单示例。希望能帮到

你!