当我们将其传递给函数作为参数时,此数组将在C#中占用多少内存
我在C#中使用数组,如下所示:
class abc
{
xyz x = new xyz(); // some other class
public double [] arr = new double [100]; // Allocated 400 bytes
// for this array.
// 100 is imaginary size
// shown here for simplicity.
// Actual size will depend on input.
private void something()
{
x.funA(arr);
}
}
在上面的abc类中,数组消耗400个字节.现在,我已将此数组作为某些参数传递给类xyz中的参数.
我的问题是,是否将在类xyz中分配新的400字节. 400字节不是什么大问题,但是在我的程序中,我正在传递占用一个MB的数组.
解决方法:
存储引用所需的内存量.据我所知,在32位计算机上为8字节,在64位计算机上为12字节.