VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • C#3.0新特性之隐含类型局部变量和匿名类型

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  C#3.0引进新关键字var,它是一个类型,可以用来声明局部变量。

Code
var I = 1; //int类型
var j = ”reallypride”; //string类型
var k = new[] { 1, 2, 3, 4 }; //int[]类型
var x; //错误,必须初始化
var y = null; //错误,不可以为空

  使用var变量要点:

  1.     使用var声明局部变量,编译器会根据后面的初始化表达式自动推断变量的类型,这个类型是强类型。

  2.     var变量在声明时必须初始化,不可以为空,且编译时可以推断其类型。初始化后变量只能保存这种类型。

  3.     数组也可以作为var类型。

  匿名类型

  匿名类型允许定义行内类型,不须显示声明类型。常和var一起使用。如

Code
var p1 = new { name = ”reallypride”, age = 23 };
var p2 = new { name = “jingxuan”, age = 23 };

  编译器会自动定义一个包含name和age属性的类。p1和p2结构相同,是同一个类的实例。我们再定义一个变量:

Code
var p3 = new { age = 23, name = “reallypride” };

  编译器会新建一个新的类,也就是p3和p1,p2不是同一个类的实例,因为p3声明属性的位置不相同。

  { }是匿名初始化器。

  如果要定义数组,可以这样定义:

Code
var intArray = new[] { 1, 2, 3, 4 };
var strArray = new[] { “a”, “b”, “c” };
var someTypeArray = new[] { new { name = “reallypride”, age = 23 }, new { name = “jingxuan”, age = 23 } };

  匿名类型要点:

  1. 可以使用new关键字调用匿名初始化器创建一个匿名类型。

  2. 匿名类型直接继承自System.Object。

  3. 匿名类型的属性是编译器根据初始化器自动推断。

  或许有人会觉得,有了var这个关键字后,其它的类型关键字都变成多余的了。

  其实var是简化了我们的编程,让我们不用再因为定义一个变量而需要写两次它的类型。

  如定义一个User类的实例,以前的方法我们要这样定义:

Code
User user=new User();

  而现在我们可以这样定义:

Code
var user=new User();

  我们可以把更多的时间用在软件功能的实现上而不是敲代码上。C#3.0新特性――隐含类型局部变量和匿名类型



相关教程