在C#中的Datatable類中,可以使用DataTable類的Merge方法對兩個相同結構的DataTable對象進行求並集運算,將兩個DataTable對象的數據行合併到其中一個DataTable變數中,或者說往其中一個DataTable對象中寫入另一個DataTable對象的所有數據行。下列例 ...
在C#中的Datatable類中,可以使用DataTable類的Merge方法對兩個相同結構的DataTable對象進行求並集運算,將兩個DataTable對象的數據行合併到其中一個DataTable變數中,或者說往其中一個DataTable對象中寫入另一個DataTable對象的所有數據行。下列例子中使用到DataTable.Clone方法,DataTable.Clone方法用於賦值DataTable的結構信息,包括所有 DataTable 架構和約束。
Merge方法的簽名為:void Merge(DataTable table);參數table代表被合併的DataTable對象變數。
舉例如下,將newDt1對象的所有數據合併到dataDt對象中,具體代碼如下:
DataTable dataDt = new DataTable(); dataDt.Columns.Add(new DataColumn() { ColumnName = "Name" }); dataDt.Columns.Add(new DataColumn() { ColumnName = "Id" }); dataDt.Columns.Add(new DataColumn() { ColumnName = "Memo", DataType=typeof(String) }); DataRow newRow = dataDt.NewRow(); newRow["Name"] = "李四"; newRow["Id"] = 22; newRow["Memo"] = "後續新增"; dataDt.Rows.Add(newRow); var newDt1 = dataDt.Clone();//通過Clone方法快速複製dataDt的結構信息 DataRow inserDataRow = newDt1.NewRow();//根據newDt1的結構創建一個行對象DataRow inserDataRow["Name"] = "王五"; inserDataRow["Id"] = 23; inserDataRow["Memo"] = "第一行"; newDt1.Rows.InsertAt(inserDataRow, 0);//往newDt1對象中寫入一行數據 dataDt.Merge(newDt1);//將newDt1表格中的數據合併到dataDt表格中。
上述程式代碼執行完畢之後,我們可以看到dataDt中存在兩條數據,一條為Name="張三"的,另一個為Name="李四"的,即成功將newDt1表格中的數據合併到dataDt表格中。
更多的DataTable的操作文章可以參考:
(1)C#的DataTable類Clone及Copy方法的區別
(2)C#通過Clone方法快速創建相同架構的DataTable
(3)C#通過InsertAt方法在DataTable特定位置插入一條數據
(5)C#通過IndexOf方法獲取某一列在DataTable中的索引位置
(6)C#通過Contains方法判斷DataTable中是否存在某個列名
(9)C#通過Remove方法移除DataTable中的某一列數據
備註:原文轉載自博主個人站IT技術小趣屋,原文鏈接為C#的Merge方法合併兩個DataTable對象的數據_IT技術小趣屋。
博主個人技術交流群:960640092,博主微信公眾號如下: