这叫什么名字?
double d1 = 0d;
decimal d2 = 0L;
float d3 = 0f;
我应该在哪里找到可以使用的字符参考?如果我想将 0
强制转换为 short
,我需要哪个字母?
int
、uint
、long
、ulong
。
- 如果字面量带有“U”或“u”的后缀,则使用以下类型中第一个能够表示其值的类型:uint
、ulong
。
- 如果字面量带有“L”或“l”的后缀,则使用以下类型中第一个能够表示其值的类型:long
、ulong
。
- 如果字面量带有“UL”、“Ul”、“uL”、“ul”、“LU”、“Lu”、“lU”或“lu”的后缀,则为ulong
类型。double
。否则,实型字首决定实型字面量的类型,如下所示:float
类型。
- 带“D”或“d”后缀的实型字面量为double
类型。
- 带“M”或“m”后缀的实型字面量为decimal
类型。short
类型,因此必须使用(short)0
或者只需使用short x = 0;
。这个
double d1 = 0d;
这是一个字面量的示例,数字后面的字符是一个后缀。但short
没有这样的后缀。你需要进行类型转换:
short s = (short)0;
这些定义在语言规范的2.4.4中,具体来说,在2.4.4.2中,您将了解有关整数字面值的信息,其中您将看到没有办法使用字面量表示short
。此外,integer-type-suffix
如下:
U u L l UL Ul uL ul LU Lu lU lu
这些代表不同有符号/无符号的int/long类型。同样,没有一种方式可以使用字面量来表示short
。
http://msdn.microsoft.com/en-us/library/aa664672(v=VS.71).aspx
只有数字后面的字母被称为后缀。
没有专门用于短的后缀。
这些仅是值字面量,以便您可以区分不同类型的值。当您进行强制转换时,使用常规的转换方法。
http://msdn.microsoft.com/en-us/library/364x0z75(v=VS.100).aspx
这是“标准数值格式字符串”的参考资料,这就是你要问的东西:
(short)0
则可以为您进行强制转换。 - Brad Christie