1

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

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

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

所以接下来我要做的就是将此数组发送到另一个函数,如下所示:

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

}

我知道每个空间中的双精度数组只有 64 位浮点数,因此对于此示例使用的内存,该数组将有 1280 位,但是何时发送到使用相同内存空间的函数?或者它使用一套全新的内存空间?

4

1 回答 1

2

数组是引用类型,而不是值类型。这意味着该变量examplearray实际上并不包含 1280 位数据,它仅包含对存储在其他地方的实际数据的引用(有时也称为指针)(出于本文的目的,它不不管“其他地方”实际在哪里)。正如您在那里所做的那样,将该变量传递给一个方法,只是复制该引用(根据系统,它是 32 位或 64 位),而不是底层的 1280 位数据。

于 2012-10-25T18:28:18.987 回答