簡體   English   中英

system.Decimal是否比'decimal'使用更多的內存?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM