C#3.0引进新关键字var,它是一个类型,可以用来声明局部变量。
Code
使用var变量要点:
1. 使用var声明局部变量,编译器会根据后面的初始化表达式自动推断变量的类型,这个类型是强类型。
2. var变量在声明时必须初始化,不可以为空,且编译时可以推断其类型。初始化后变量只能保存这种类型。
3. 数组也可以作为var类型。
匿名类型
匿名类型允许定义行内类型,不须显示声明类型。常和var一起使用。如
Code
编译器会自动定义一个包含name和age属性的类。p1和p2结构相同,是同一个类的实例。我们再定义一个变量:
Code
编译器会新建一个新的类,也就是p3和p1,p2不是同一个类的实例,因为p3声明属性的位置不相同。
{ }是匿名初始化器。
如果要定义数组,可以这样定义:
Code
匿名类型要点:
1. 可以使用new关键字调用匿名初始化器创建一个匿名类型。
2. 匿名类型直接继承自System.Object。
3. 匿名类型的属性是编译器根据初始化器自动推断。
或许有人会觉得,有了var这个关键字后,其它的类型关键字都变成多余的了。
其实var是简化了我们的编程,让我们不用再因为定义一个变量而需要写两次它的类型。
如定义一个User类的实例,以前的方法我们要这样定义:
Code
而现在我们可以这样定义:
Code
我们可以把更多的时间用在软件功能的实现上而不是敲代码上。