Table 在清除不同的 table 时,数据集中的 Table 也已被清除

Table in dataset has been cleared too when clear a different table

我将数据集中的一个 table 数据分配给了一个新的 table。当我清除新的table(dt)时,数据集中的table(ds.Tables[0])也被清除了,为什么?以及如何避免它也被清除?

DataTable dt = new DataTable();
DataSet ds = new DataSet();
\some code to assign data to ds

下面的代码将在单击按钮时执行,第一次单击效果很好,第二次单击导致 table[0] in ds empty

dt.Clear()
dt = ds.Tables[0];

变化:

dt = ds.Tables[0];

至:

dt = ds.Tables[0].Copy();

这样,dt 将持有 dt.Tables[0] 副本,而不是对相同底层 DataTable[=15] 的引用=]