在C#中的Datatable類中,Clone方法和Copy方法都可以用來複制當前的DataTable對象,但DataTable類中的Clone方法和Copy方法還是有區別的,Clone方法只複製結構信息,包括所有 DataTable 架構和約束,但Copy方法除了複製結構信息之外,還複製DataTa ...
在C#中的Datatable類中,Clone方法和Copy方法都可以用來複制當前的DataTable對象,但DataTable類中的Clone方法和Copy方法還是有區別的,Clone方法只複製結構信息,包括所有 DataTable 架構和約束,但Copy方法除了複製結構信息之外,還複製DataTable的表格行數據信息。
DataTable.Clone 方法:克隆 DataTable 的結構,包括所有 DataTable 架構和約束。
DataTable.Copy 方法:複製該 DataTable 的結構和數據。
針對於DataTable類中的Copy方法和Clone方法,舉例如下:
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); DataRow inserDataRow = dataDt.NewRow(); inserDataRow["Name"] = "王五"; inserDataRow["Id"] = 23; inserDataRow["Memo"] = "第一行"; dataDt.Rows.InsertAt(inserDataRow, 0); var newDt1 = dataDt.Clone(); var newDt2 = dataDt.Copy();
從程式運行結果來看,newDt1和newDt2的結構信息一致無差別,但newDt1的數據行為0,而newDt2的數據行為2,並且newDt2中的數據與dataDt表格數據一致。
備註:原文轉載自博主個人站IT技術小趣屋,原文鏈接為C#的DataTable類Clone及Copy方法的區別_IT技術小趣屋。
博主個人技術交流群:960640092,博主微信公眾號如下: