可能重复:
C#short/long/int 文字格式?
阅读在编程中的使用var
,我很好奇 var 在用于int
类型时的默认值。例如,如果我使用
var foo = 65535
类型是ushort
还是只是int
?谢谢。
可能重复:
C#short/long/int 文字格式?
阅读在编程中的使用var
,我很好奇 var 在用于int
类型时的默认值。例如,如果我使用
var foo = 65535
类型是ushort
还是只是int
?谢谢。
真的,您要问的是C# 中整数文字的类型是什么?,可以在规范中找到答案:
(4.0 规范的第 2.4.4.2 节)
整数文字的类型确定如下:
- 如果字面量没有后缀,则它具有可以表示其值的第一种类型:int、uint、long、ulong。
- 如果文字以 U 或 u 为后缀,则它具有可以表示其值的第一种类型:uint、ulong。
- 如果文字以 L 或 l 为后缀,则它具有可以表示其值的第一种类型:long、ulong。
- 如果文字以 UL、Ul、uL、ul、LU、Lu、lU 或 lu 为后缀,则为 ulong 类型。
如果整数文字表示的值超出 ulong 类型的范围,则会发生编译时错误。
所有整数文字都是 type ,因此除非您在末尾强制转换或添加显式类型限定符,否则您int
的变量将是:int
var quick = 65535; // int
var brown = (ushort)65535; // ushort
var fox = 65535L; // long