在开发的过程中,有时候我们需要对两个数据结构一样的DataTable进行DataRow的拷贝.
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable()
假如dt1跟dt2的结构一样,并且有数据。
将dt2的行拷贝到dt1
如果只是下面那样写是错的:
dt1.Rows.Add(dt2.Rows[0]);
会报错,说DataRow已经被占用了。这样因为DataRow是对象,这里是引用,在这里就需要对象拷贝了。
正确写法如下:
DataRow newDr = dt1.NewRow();
newDr.ItemArray = dt2.Rows[0].ItemArray;
dt1.Rows.Add(newDr);