int 72
这是我们在C#课中讨论的一个问题。我说2个字节,其他人说由于整数类型它使用32位或4个字节。哪个是对的?
答案 0 :(得分:8)
你需要更加具体。你在想:
与程序中出现的(int)72
等整数文字的外观有很多不同的“成本”。如果它是更大表达式的一部分,则可以在编译时进行简化,使得文字的边际运行时成本完全没有(除了调试器以显示更长的源代码片段)。
答案 1 :(得分:2)
在大多数情况下,它将在堆栈上消耗4个字节。这是因为int
是映射到Common Type System (CTS)中Int32
的C#关键字。
如果必须装盒,事情会变得复杂一些。有关拳击的解释,请参阅this文章。盒装值实际上会占用堆上的12个字节(至少在32位系统上); 4表示实际数据,4表示同步块,4表示类型句柄或方法表。
所以问题不是那么简单。
答案 2 :(得分:0)
一根绳子有多长?
这取决于您运行的处理器体系结构(甚至可能使用您使用的编译器)。 This page解释了 - 并给出了答案。