C# 中的var关键字继承
var 是3.5新出的一个定义变量的类型 称为推断类型 . var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型能够是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你究竟是想用什么类型的 至于什么状况下用到VAR 我想就是你没法肯定本身将用的是什么类型 就可使用VAR 。这玩意就只是起到一个继承赋值的值的数据类型,自己是没有任何东西的。可是,若是你赋值为int,那么这个 var就是一个int,你赋值为一个string,那么就是一个string,再也不能改写。编译器
或者通俗的讲:string
var能够理解为匿名类型,咱们能够认为它是一个声明变量的占位符。它主要用于在声明变量时,没法肯定数据类型时使用。编译
这玩意只是一个局部变量,不能赋值为null,必需要定义初始值,不能做为返回值或者参数,不能定义类成员。压根就不能算成一个正式的变量,正如它的名字,隐式类型变量,(我以为应该是继承类型变量),最重要的做用。写匿名内部类!效率
小技巧:在使用var 的时候,不须要去拆箱也不须要装箱,这也是这玩意比object好用的地方,也是这玩意的卖点变量
使用var定义变量时有如下四个特色:object
1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是以下形式: var s; s = “abcd”;技巧
2. 一但初始化完成,就不能再给变量赋与初始化值类型不一样的值了。数据类型
3. var要求是局部变量。数据
4. 使用var定义变量和object不一样,它在效率上和使用强类型方式定义变量彻底同样。