在下方的表格中列出了C#語言所有的數字后綴,以及它所代表的類型。
后綴 | 影響數字 | 示例 | 表示類型 |
---|---|---|---|
m 或 M | 實數 | 3.14M | decimal |
f 或 F | 實數 | 3.14F | float |
l 或 L | 整數 | 3L | long |
無后綴 | 整數 | 3 | int |
無后綴 | 實數 | 3.14 | double |
上表中沒有提到的數字類型沒有數字后綴,在給這些變量賦值一個數字時,C#編譯器會自動處理。
比如有如下代碼:
byte a = 3;
上面的代碼看上去應該報錯,因為3沒有寫后綴,是int類型,而a是byte類型,int類型的取值范圍大於byte類型,該賦值應該會失敗,是錯誤的。
但你去試一下就會知道,這樣的賦值實際上不會報錯。因為C#編譯器發現3是在byte的取值范圍之內,是可以賦值的,因此自動幫你處理了這個問題。
但要記住,編譯器並不能處理變量的情況,比如:
byte a = b;
假設b是int類型,那么上面的代碼就要報錯了,編譯器無法知曉b中存放的數字是什么(編譯在運行之前,由於沒有運行,b中的數據是什么難以確定)。