0

大家好,我有几个问题

1)

class ClassName 
{
    public int[] a = new int[100];
}

创建此类的对象时会发生什么我的意思是整数数组存储在哪里,堆栈[值类型]或堆[引用类型]

我很困惑,因为规格值类型存储在 Stack 上,然后数组将存储在 stack 上。

但是参考类型是根据规范在堆上创建的

请大家帮我理解这一点。我不想在不知道幕后发生的事情的情况下编写代码

提前致谢

4

1 回答 1

4

这里没有值类型。所以这个问题没有实际意义。ClassName 和 int[] 都是引用类型。

如果值类型被声明为自动本地,则它存储在堆栈中。如果它在另一种类型中声明,则它存储在另一种类型中。

值类型始终存储在堆栈中是 C# 中一个不朽的神话。

于 2014-01-26T20:27:46.517 回答