在C#中,可以使用DataTable.Merge()
方法將兩個DataTable合并。以下是一個簡單的示例:
using System;
using System.Data;
class Program
{
static void Main()
{
// 創建第一個 DataTable
DataTable table1 = new DataTable("Table1");
table1.Columns.Add("ID", typeof(int));
table1.Columns.Add("Name", typeof(string));
table1.Rows.Add(1, "張三");
table1.Rows.Add(2, "李四");
// 創建第二個 DataTable
DataTable table2 = new DataTable("Table2");
table2.Columns.Add("ID", typeof(int));
table2.Columns.Add("Age", typeof(int));
table2.Rows.Add(1, 25);
table2.Rows.Add(2, 30);
// 合并兩個 DataTable
table1.Merge(table2);
// 顯示合并后的 DataTable
Console.WriteLine("合并后的 DataTable:");
Console.WriteLine("ID\tName\tAge");
foreach (DataRow row in table1.Rows)
{
Console.WriteLine($"{row["ID"]}\t{row["Name"]}\t{row["Age"]}");
}
}
}
注意:在合并之前,請確保兩個DataTable具有相同的主鍵列。如果沒有主鍵列,可以使用DataTable.PrimaryKey
屬性設置主鍵列。
此外,Merge()
方法還有一個重載版本,可以接受一個bool
參數,用于指定是否保留源表中的原始數據。如果為true
,則在目標表中保留原始數據;如果為false
,則覆蓋目標表中的原始數據。默認值為false
。