在.Net3.0中新增了一个变量声明,它可以用var来声明任何类型局部变量,不过它只告诉编译器,该变量需要初始化表达来推断变量的类,并且只能是局部变量.
var i=2;等同于int i=2;
var name="Good";等同于string name="Good";
var numbers=new int[] {1,2,3};等同于int [] numbers=new int[] {1,2,3};

同时在使用var申明局部变量时,一定要赋值,因为声明依赖于赋值号右边的表达式,否则编译器会报错.

var name;
name="Netccb";//此时就会报错

使用var 申明局部变量后,它仍然是强类弄,不可以进行转换;
var number=19;
number="This is error!"//此时就会报错.


初始化表达式的编译期类型不可以是空(null),因为编译器无法从null来推断出局部变量的类型

var integer=null;//此地会报错.

 初始化语句必须是一个表达式,初始化表达式不能包含它自身,但是可以是包含一个对象或集合初始化器的一个new表达式(即匿名类型)。

var coll = new Hashtable();

var的声明仅限于局部变量,也可以包含在foreach、for、using语句中.

class Program
{
 private var i = 10; //全局私有变量。
 static void Main(string[] args)
 { }
}

var userlist = new [] {"a","b","c"};

foreach(var user in userlist)

Console.WriteLine(user);

posted on 2008-04-02 22:56  轻狂如我,奋华图强  阅读(267)  评论(0)    收藏  举报