2011-07-13 125 views
13

這是什麼叫?數字後的字母,它叫什麼?

double d1 = 0d; 
decimal d2 = 0L; 
float d3 = 0f; 

我在哪裏可以找到我可以使用的字符的引用?如果我想將0轉換爲short,我需要哪些字母?

+0

不是一個官方列表,但這是有用的:http://www.dotnetperls.com/suffix – Flynn1179

+0

[數字文字](http://www.blackwasp.co.uk/CSharpNumericLiterals.aspx)我相信是什麼你在追求。 '(short)0'會爲你施放。 –

回答

17

最好的來源是C#規範(它在版本4中的「2.4.4。文字」一節)。

相關位:

類型文字被確定爲一個整數的如下:

  • 如果文字沒有後綴,它具有第一這些類型的,其中它的值可以代表:int,uint,long,ulong。
  • 如果文字後綴爲U或u,則它具有第一個可以表示其值的類型:uint,ulong。
  • 如果文字後綴爲L或l,則它具有第一個可以表示值的類型:long,ulong。
  • 如果文字後綴爲UL,UL,UL,UL,LU,Lu,IU或LU,則它是ulong類型。

如果沒有指定實型後綴,則實際文字的類型爲雙倍。否則,實際類型後綴將確定實際文字的類型,如下所示:

  • F或f後綴的實數字面值爲float類型。 [...]

  • 帶D或d後綴的真實文字是double類型。 [...]

  • 的實數由M或m後綴是decimal類型。 [...]

這意味着字母(或字母)被稱爲「後綴」。這種方式無法代表short,因此您必須使用(short)0short x = 0;

14

它被稱爲後綴。
概述可以發現here

10

double d1 = 0d; 

是文字和數字後的字符是一個後綴的一個例子。 short沒有一個。你需要轉換:

short s = (short)0; 

這些在語言規範2.4.4規定,特別是2.4.4.2會告訴你關於整數文字,你會看到,有沒有辦法用文字來表達short 。另外,該integer-type-suffix ES是:

U u L l UL Ul uL ul LU Lu lU lu 

其表示各種符號/無符號INT /長的類型。再次,沒有辦法使用文字表達short

+2

-1:它們不被稱爲文字。它們被稱爲後綴。文字是包含後綴的完整數字。 –

+1

編輯後取消退出。 –

+0

@Daniel Hilgarth:顯然,他只是想表達使用文字了'short',因此,我解釋了較大的概念。謝謝你解釋,至少。 – jason

相關問題