gpt4 book ai didi

c# - DataTable : Creating a backup DataTable 中发生奇怪的事情

转载 作者:行者123 更新时间:2023-12-02 01:19:24 25 4
gpt4 key购买 nike

        DataTable dt1 = new DataTable(); //I made this as a backup
//add 3 columns
dt1.Columns.Add();
dt1.Columns.Add();
dt1.Columns.Add();
MessageBox.Show("Number of Columns in dt1: " + dt1.Columns.Count);
DataTable dt2 = dt1;
//I added another column just to say that that table changed
dt2.Columns.Add();
MessageBox.Show("Number of Columns in dt1: " + dt1.Columns.Count + "\r\nNumber of Columns in dt2: " + dt2.Columns.Count);
//there's four columns now in both tables even though I added the column only in dt2

为什么会发生这种情况?我该如何更改它,以便无论我对 dt2 做什么,dt1 都不会改变?

最佳答案

在 C# 中,创建新对象的唯一方法是“new”关键字(或在其中使用 new 关键字的方法..) - 您只是创建一个指针 (dt2)并将其指向与 dt1 指向的同一个 DataTable。因此,您只有一个 DataTable 实例。

使用DataTableCopy()方法创建一个新的表实例,即dt2 = dt1.Copy();

关于c# - DataTable : Creating a backup DataTable 中发生奇怪的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6886141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com