C# var默认为哪种int类型?

C# var默认为哪种int类型?,c#,C#,可能重复: 在编程中使用var之后,我很好奇,当var用于int类型时,它的默认值是什么。例如,如果我使用 var foo=65535 类型是ushort还是仅仅int?谢谢。所有整数文本的类型都是int,因此您的变量将是int,除非您在末尾强制转换或添加显式类型限定符: var quick = 65535; // int var brown = (ushort)65535; // ushort var fox = 65535L; // long 实际上,您

可能重复:

在编程中使用
var
之后,我很好奇,当var用于
int
类型时,它的默认值是什么。例如,如果我使用

var foo=65535


类型是
ushort
还是仅仅
int
?谢谢。

所有整数文本的类型都是
int
,因此您的变量将是
int
,除非您在末尾强制转换或添加显式类型限定符:

var quick = 65535;         // int
var brown = (ushort)65535; // ushort
var fox = 65535L;          // long

实际上,您要问的是在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,则为ulong类型
如果整型文字表示的值超出 如果是ulong类型,则会发生编译时错误


它可能是Int32,因为这是一种标准。你为什么不知道呢<代码>变量编号=65535;Console.Write(num.GetType().Name)谢谢。你的回答很有帮助。
未签名
在C#中不起作用。我想你是想用
ushort
。谢谢。你的回答很有描述性,而且很有帮助。