数组使用相同的内存空间?

时间:2012-10-25 18:24:54

标签: c# asp.net memory

我在主程序中有一个数组如下:(我正在使用C#在asp.net中编程)

double[][] example= new double[][];

对于这个例子,让我们想象一个10 * 2的数组。

接下来我要做的就是将这个数组发送到另一个函数:

usedarray(example);
public double[][] usedarray(double[][]examplearray)
{

}

我知道每个空间中的一个双数组只有64位浮点数,所以这个数组的内存使用1280位,但是当它发送到函数时它使用相同的内存空间?或者它使用一整套新的内存空间?

1 个答案:

答案 0 :(得分:2)

数组是引用类型,而不是值类型。这意味着变量examplearray实际上不包含1280位数据,它只包含实际数据的引用(有时也称为指针),存储在别处(为此目的)发布,“其他地方”实际上在哪里并不重要。将该变量传递给方法就像在那里一样,只复制该引用(32位或64位,具体取决于系统),而不是基础1280位数据。