【发布时间】:2011-10-02 05:42:25
【问题描述】:
我想将DataTable (dataTable1) 分配给另一个DataTable (dataTable2) 并删除后者DataTable 中的一些列。例如我有以下代码:
DataTable dataTable2 = dataTable1;
dataTable2.Columns.Remove("column1");
dataTable2.Columns.Remove("column2");
原来DataTable(dataTable1 和 dataTable2)都删除了列。我不明白为什么 dataTable1 会同时删除 column1 和 column2,而我只删除 dataTable2 中的列。
[已编辑 - 有答案]
应该使用Clone() AND ImportRow() 而不是指针赋值。
DataTable dataTable2 = dataTable1.Clone()
for (int i = 0; i < dataTable1.Rows.Count; i++)
{
dataTable2.ImportRow(dataTable1.Rows[i]);
}
【问题讨论】: