【发布时间】:2012-07-20 15:47:09
【问题描述】:
“值类型是堆栈分配的,而引用类型存在于托管堆上。”
如果我在类的方法中有一个局部变量(如 int a=2;),它分配在哪里?
在我们的示例中,值类型包含在引用类型中。由于引用存在于托管堆中,我假设这里的值类型(int a)也在托管堆中而不是堆栈中。
我错过了什么吗?
【问题讨论】:
-
值类型嵌入到包含存储中。这可以是堆栈,但也可以是其他存储。
-
@Oded 那个问题具体是“类的字段”;这个问题是“类方法中的局部方法变量”;很不一样
-
@MarcGravell - 是的。我真的想参考问题的第一行 - 那句话非常具有误导性。
-
嗯,是的,现在和你在一起。我讨厌那句话。我一直希望它与“结构适用于不需要方法的情况”相邻。
标签: .net