VAR 是3.5新出的一个定义变量的类型
其实也就是弱化类型的定义
VAR可代替任何类型
编译器会根据上下文来判断你到底是想用什么类型的

至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型
就可以使用VAR 类似 OBJECT
但是效率比OBJECT高点

使用var定义变量时有以下四个特点:

  1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
    var s;
    s = “abcd”;
  2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。例: var a=“1”;a=1;(错误:无法将类型“XX”隐式转换成“YY”)
  3. var要求是局部变量。无法使用var来定义一个全局变量,只能定义在方法的内部(因为预先不可知,所以预先不可置)
  4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
    注意点:

5.不能用来定义函数的签名,包括返回值,参数类别

6.在定义变量的时候,必须先给值,不能为null,也不能只定义不给值。

匿名类型用法:

在实际使用过程中,除了代替具体类型的隐式类型外,更重要的使用方式是定义一个匿名类。