2011-07-13 104 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

相关问题