C#datatable 两表横向合并
时间: 2023-11-23 21:55:06 浏览: 194
C# DataTable的詳細用法.docx
C#中可以使用Merge方法将两个DataTable横向合并。具体步骤如下:
1. 确保两个DataTable的结构相同,即列名和数据类型都一致。
2. 使用Merge方法将两个DataTable合并,指定合并方式和主键列。
3. 如果需要去重,可以使用Distinct方法。
下面是示例代码:
```csharp
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
// 填充dt1和dt2
// 确保两个DataTable结构相同
if (dt1.Columns.Count != dt2.Columns.Count)
{
throw new Exception("两个DataTable的列数不一致");
}
for (int i = 0; i < dt1.Columns.Count; i++)
{
if (dt1.Columns[i].ColumnName != dt2.Columns[i].ColumnName || dt1.Columns[i].DataType != dt2.Columns[i].DataType)
{
throw new Exception("两个DataTable的结构不一致");
}
}
// 合并两个DataTable
dt1.Merge(dt2, true, MissingSchemaAction.AddWithKey);
// 去重
dt1 = dt1.DefaultView.ToTable(true);
// 输出结果
foreach (DataRow row in dt1.Rows)
{
foreach (DataColumn col in dt1.Columns)
{
Console.Write(row[col] + "\t");
}
Console.WriteLine();
}
```
阅读全文