C# Java与C中的包装类#
对于Java,当我们编写类似C# Java与C中的包装类#,c#,java,.net,C#,Java,.net,对于Java,当我们编写类似 Integer i = new Integer(20); 在上述情况下,obj是在堆上分配的 如果是C# 在这种情况下,对象是在堆栈上分配的 这些仅仅是实现方面的差异,还是还有更多的差异 更正:将C#的整数更改为Int32C#中没有整数,其或和都相同。关于C#说“值类型进入堆栈”是不正确的。您需要查看Eric Lippert的这篇文章: 编辑:根据评论: Int32和int是相同的,两者是同义的。在C#中没有整数,其或和都是相同的。关于C#说“值类型进入堆栈”是
Integer i = new Integer(20);
在上述情况下,obj是在堆上分配的
如果是C#
在这种情况下,对象是在堆栈上分配的
这些仅仅是实现方面的差异,还是还有更多的差异
更正:将C#的整数更改为Int32C#中没有
整数,其或和都相同。关于C#说“值类型进入堆栈”是不正确的。您需要查看Eric Lippert的这篇文章:
编辑:根据评论:
Int32和int是相同的,两者是同义的。在C#中没有整数,其或和都是相同的。关于C#说“值类型进入堆栈”是不正确的。您需要查看Eric Lippert的这篇文章:
编辑:根据评论:
Int32和int是相同的,两者是同义词。您希望用Java包装原语的许多原因不适用于C,因为C具有结构而不是原语。以下是structs可以用于prmitives无法实现的一些功能:
- 他们有办法。Eg显示了可用于int32的方法。例如,转换为字符串是一种方法调用
- 它们可以用于通用数据结构中。例如List
非常好
当堆上需要它们时,可以将它们装箱。此链接对此进行了解释。您可能希望用Java包装原语的许多原因不适用于C,因为C具有结构而不是原语。以下是structs可以用于prmitives无法实现的一些功能:
- 他们有办法。Eg显示了可用于int32的方法。例如,转换为字符串是一种方法调用
- 它们可以用于通用数据结构中。例如List
非常好
当堆上需要它们时,可以将它们装箱。此链接对此进行了解释。如何定义C#的Integer
?(有System.Int32
/int
,但没有Integer
)…C#没有表示装箱原语的显式类型。它只是一个可以转换回适当类型的对象。它远没有Java中那么复杂。如何为C#定义Integer
?(有System.Int32
/int
,但没有Integer
)…C#没有表示装箱原语的显式类型。它只是一个可以转换回适当类型的对象。它远没有Java中那么复杂。@Akash,Int32和int是一样的,两者是同义的。@Akash:int
isSystem.Int32
,它只是一个别名。@Akash,你也可以检查这个线程@Akash,Int32和int是相同的,两者是同义的。@Akash:int
isSystem.Int32
,这只是一个别名。@Akash,您也可以检查此线程
Int32 i = new Int32();
i=10;