在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,博主微信公众号如下: