var(隐式类型):
原理:编译器根据初始化值推断变量的真正类型。var只能在初始化变量时使用(编译器要根据初始值固化其正真类型),例如var myint = 100;编译器会推断出myint为int类型。
而var myint ; myint = 0;//错误。因为编译器无法知道myint的具体类型,也就无法后续对其进行各种操作了(包括赋值等操作)。
一旦编译器确定了变量的类型,就不能更改,也即不能赋予不符合其类型的值了。例如下面操作是失败的:
var inta = 128;
inta = 128128;//OK
inta = true;//Error!inta已被编译器推断出是int类型了,不能更改。
var只能用于局部变量,不能用于参数。
C#中,方法的参数和返回类型必须指明具体类型,不能使用隐式类型var。