我想知道一些看起来很愚蠢的东西,但 C# 对每种类型的大写字母都有一个定义:
int -> Int32 ,
double -> Double ,
string -> String ,
etc..
为什么没有像其他 .Net 组件var
那样定义Var ?
提前致谢。
var
是一个没有可映射原始类型的关键字。int
, double
, 等都是具有原始映射的关键字。
来自 msdn:
int i = 123;
当整数文字没有后缀时,它的类型是第一个可以表示其值的类型:int、uint、long、ulong。在本例中,它的类型为 int。
http://msdn.microsoft.com/en-us/library/vstudio/5kzh1b5w.aspx
var
之所以特殊,是因为它表示的实际类型是类型推断的。
从 Visual C# 3.0 开始,在方法范围内声明的变量可以具有隐式类型 var。隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定类型。i 的以下两个声明在功能上是等价的......
var i = 10; // implicitly typed
int i = 10; //explicitly typed
int
, double
, string
andvar
都是关键字,关键字不大写,然而System.Int32
, System.Double
,System.String
都是 Types,Types 都是大写的。