复制一个数组,使其不受影响 c#

Duplicating an array so it becomes unaffected c#

我试过了

int[] secondArray = firstArray;

但是每当我更改第一个数组时它会在第二个数组中更改,是否有一个函数允许我更改第一个而不影响第二个?

谢谢。

那是因为您有一个 "array of integer" 对象,它被 firstArray 引用。您的赋值语句只是增加了对象的引用计数

我想您可能正在寻找一种提供 firstArray 的浅表副本的方法?如果是这样,使用clone方法

正如蒂姆所说,您需要了解为什么会发生这种情况,因此请继续阅读。 :)

但是你可以使用 Array.CopyTo method:

int[] firstArray = new int[20];
int[] secondArray = new int[20];
firstArray.CopyTo(secondArray, 0);

但是你必须确保自己不会溢出第二个数组,否则会抛出异常。