当我们将其传递给函数作为参数时,此数组将在C#中占用多少内存

我在C#中使用数组,如下所示:class abc {xyz x = new xyz(); // some other classpublic double [] arr = new double [100]; // Allocated 400 bytes // for this array.// 100 is imaginary size // shown here fo...

我在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字节.

本文标题为:当我们将其传递给函数作为参数时,此数组将在C#中占用多少内存

基础教程推荐