DataTable.Clear()方法影响分离的行
本文关键字:分离 影响 方法 Clear DataTable | 更新日期: 2023-09-27 18:16:56
我正在尝试这样做来创建一个类型化数据的副本:
var desRow = dataTable.NewRow();
var sourceRow = dataTable.Rows[rowNum];
desRow.ItemArray = sourceRow.ItemArray.Clone() as object[];
但是当我调用dataTable.Clear()
方法时,它清除了desRow中的所有字段。如何创建DataRow
的深度副本?
在你的代码中,当你创建你的新行时,你创建了一个对dataTable的引用,这就是为什么它清除所有字段。
你可以使用数据表克隆,这样你就有了一个深度拷贝。
DataTable dt = ...
DataTable cloneDt = dt.Clone();
DataRow row = cloneDt.Rows[number];
dt.Rows.Clear();
dt.Rows.Add(row);