DataTable,DataRow,DataClomun三种对象都是引用类型。
C#中值的传递方式分为值传递与引用传递。
1.复制DataTable对象
//以下做法是错误的,dt1和dt2引用的是同一个对象
DataTable dt1 = new DataTable();
DataTable dt2 = dt1;
//以下做法是复制一个表结构,即空表
DataTable dt3 = dt1.Clone();
//以下做法是复制一张表,包括数据
DataTable dt4 = dt1.Copy();
2.在两个DataTable对象之间复制DataRow对象
//错误做法
dt2.Rows.Add(dt1.Rows[0]);
//实现方法一
dt2.ImportRow(dt1.Rows[0]);
//实现方法二
DataRow dr = dt2.NewRow();
dr.ItemArray = dt1.Rows[0].ItemArray;
dt2.Rows.Add(dt1.Rows[0]);
//实现方法一
dt2.ImportRow(dt1.Rows[0]);
//实现方法二
DataRow dr = dt2.NewRow();
dr.ItemArray = dt1.Rows[0].ItemArray;
3.将一个DataTable对象中的某一行值插入到另一个DataTable中的指定位置
//先新增,然后复制数据,最后调用DataTable.Row的InsertAt方法即可