这个是 .NET 3.0 之后才新增的特性,称为“推断类型”,需要在创建项目时目标平台选择 .NET 3.0 或以上才可以使用。
官方给出的解释是:可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。
我们举个例子。原来我们定义变量,是要这样:
int a = 1;也就是说,必须先明确地指定变量是什么数据类型,才能给它赋值。
而 var 是一个弱类型,用:
var a = 1;编译器会根据你给 a 的值 1,来推断 a 是一个整数类型;同理,推断出 b 是一个字符串类型。有点类似 object,但是效率比 object 要高。
这个是隐式类型,能自动类型推断,也就是说具体的类型会由编译器帮助推断。
如果声明
var i=100;那编译器会推断出i为int类型,
如果声明
var s="abcd";那编译器会推断s为string类型,
如果有
public DataSet GetDS()那编译器会推断x为DataSet类型。。。
注意,声明时候必须带上初始值,也就是说,不能直接写
var x;//编译时会报错