当前位置:嗨网首页>书籍在线阅读

10-匿名类型和对象初始化器

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.3.3 匿名类型和对象初始化器

匿名类型和对象初始化器是C# 3.0新增加的功能,能简化对象的初始值设置。使用对象初始化,创建Phone类的对象并对其属性成员PhoneNumber赋值,可以这样写。

Phone objPhone = new Phone () {  PhoneNumber = "13888888888" };

例如,定义类Point,有两个属性X和Y表示点的坐标。

01  public class Point                   //定义Point类
02  {                                    //类的属性定义中的get和set访问器可以简写为如下形式
03          public int X { get; set; }   //定义属性X,得到和设置点的横坐标
04          public int Y { get; set; }   //定义属性Y,得到和设置点的纵坐标
05  }

使用对象初始化,可以这样创建对象并对属性赋值。

Point p = new Point() { X = 0, Y = 0 };   //创建对象p,并将属性X和Y皆赋值为0

使用匿名类型可以定义内嵌的类型,不需要显式地定义一个类型。假设没有定义Point类,却要使用一个Point的对象(即类是匿名的),可以使用对象初始化器,不用指定类名,如:

var p = new {X = 0, Y = 2};     //创建匿名类型p,并使用对象初始化器赋值
**提示** 在Visual Studio 2013中,仍然可以使用智能感应功能得到这个匿名类型的属性列表。