C# CopyTo()生成的数组是否仍引用其父内存?
我想要DataGridViewRows的深度复制。 我有一个DataGridView.Rows.CopyTo()函数生成的DataGridViewRow数组。 数组dgvra是否仍然引用与DataGridView.Rows中的项相同的内存 DGV_Comp是一个DataGridView控件C# CopyTo()生成的数组是否仍引用其父内存?,c#,deep-copy,datagridviewrow,C#,Deep Copy,Datagridviewrow,我想要DataGridViewRows的深度复制。 我有一个DataGridView.Rows.CopyTo()函数生成的DataGridViewRow数组。 数组dgvra是否仍然引用与DataGridView.Rows中的项相同的内存 DGV_Comp是一个DataGridView控件 DataGridViewRow[] dgvra = new DataGridViewRow[DGV_Comp.Rows.Count]; DGV_Comp.Rows.CopyTo(dgvra, 0); 从Va
DataGridViewRow[] dgvra = new DataGridViewRow[DGV_Comp.Rows.Count];
DGV_Comp.Rows.CopyTo(dgvra, 0);
从Variable watch,这是我发现的
有人能帮我对我的发现做出合理的解释吗
提前谢谢。这有什么关系?C#是一种托管语言,在大多数情况下,它不应该是相同的内存位置,这是运行时的一个实现细节。
object.GetHashCode()
应该告诉您它是否是对相同对象的引用(即,如果HashCode是相同的)DataGridView
应该只作为显示机制。将数据保存在DataTable
中,您可以在那里进行复制,etcIt不是深度复制,数组元素仍然引用相同的行对象。继续使用DataGridViewRow.Clone()。