复制一个数组,使其不受影响 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);
但是你必须确保自己不会溢出第二个数组,否则会抛出异常。
我试过了
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);
但是你必须确保自己不会溢出第二个数组,否则会抛出异常。