在 Java 的情况下,当我们编写类似的东西时
Integer i = new Integer(20);
在上述情况下,obj 是在堆上分配的
如果是 C#
Int32 i = new Int32();
i=10;
在这种情况下,对象被分配在堆栈上
这些只是实施方式上的差异还是还有更多差异?
更正:将 Integer 更改为 C# 的 Int32
您可能希望在 Java 中包装原语的许多原因不适用于 C#,因为 C# 具有结构而不是原语。以下是结构体可以用来做的一些事情,而这些事情不能用 prmitives 来完成:
当堆上需要它们时,可以将它们装箱。此链接解释它http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx。