[英]Does system.Decimal use more memory than 'decimal'?
我听说有人说在C#中,大写的Decimal比小写的十进制使用的内存更多,因为Decimal被解析为小写的十进制,并且需要内存。
真的吗?
没有。
decimal
只是System.Decimal
的别名。 它们完全相同,并且别名在编译时解析。
不,那不是真的。
decimal
关键字是System.Decimal
类型的别名。 它们是完全相同的类型,因此没有内存差异也没有性能差异。 如果使用反射来查看编译后的代码,则甚至无法分辨源代码中是否使用了别名或系统类型。
但是,在何处可以使用别名和系统类型有两个区别:
decimal
别名始终是系统类型,不能以任何方式更改。 使用Decimal
标识符依赖于导入System
名称空间。 系统类型的明确名称是global::System.Decimal
。
一些语言构造仅接受别名,而不接受类型。 我想不出decimal
的示例,但是在为枚举指定基础类型时,只能使用int
类的语言别名,而不能使用System.Int32
类的对应系统类型。
不,那太傻了。
在C#中,十进制只是Decimal的同义词。 编译器会将十进制声明视为十进制,而编译后的代码将如同使用了十进制一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.