[英]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.