CLR上的参考大小是多少

时间:2009-08-28 21:55:08

标签: clr stack reference-type

我(纯粹是出于好奇)试图找出在堆栈上进行分配时实际引用的大小。

阅读this之后,我仍然不知道(这只是对值类型或类型定义的回答),而且我似乎无法在任何地方找到它。

所以基本上想象一个类如下

class A
{
    string a;
}

现在,当实例化类型A的对象时,对字符串对象的引用将存储在堆栈中,现在堆栈上的分配大小是多少?

免责声明:如果我说完整且完全无稽之谈请告诉我:)

3 个答案:

答案 0 :(得分:4)

就像指针的大小一样,大小可能是本机int的大小:32位平台上的32位和64位平台上的64位。

答案 1 :(得分:2)

它的大小为IntPtr,32位或64位,具体取决于您的环境。

答案 2 :(得分:2)

  

现在,当实例化类型A的对象时,对字符串对象的引用将存储在堆栈中,现在堆栈上的分配大小是多少?

字符串引用实际上存储在堆上,而不是堆栈中,因为A是引用类型。