我在 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 字节并不是什么大问题,但在我的程序中,我传递了一个占用 1 MB 的数组。
最佳答案
存储引用所需的内存量。据我所知,它在 32 位机器上是 8 个字节,在 64 位机器上是 12 个字节。
关于c# - 当我们将它作为参数传递给函数时,这个数组将在 C# 中占用多少内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11426238/