c# - 当我们将它作为参数传递给函数时,这个数组将在 C# 中占用多少内存

标签 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 字节并不是什么大问题,但在我的程序中,我传递了一个占用 1 MB 的数组。

最佳答案

存储引用所需的内存量。据我所知,它在 32 位机器上是 8 个字节,在 64 位机器上是 12 个字节。

关于c# - 当我们将它作为参数传递给函数时,这个数组将在 C# 中占用多少内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11426238/

相关文章:

c# - 我可以检测 ios 应用程序是否从 APN 取消注册吗

c# - C# 中透明 SMTP 代理服务器的良好设计

c# - 自定义枚举器的需要点

c# - 在迭代器中访问 C# 基类会导致 ReSharper 警告

c# - XSLT 选择模板

c# - 从 LINQ to SQL 中提取 WHERE 子句

c# - 使用 List.ToLookup()

c# - 在自定义类中为 Entity Framework 实现IDisposable

c# - 如何检索点击的 ListView 行数据和隐藏 id 列

c# - 在数据库中存储类名和程序集名有多糟糕?