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中,仍然可以使用智能感应功能得到这个匿名类型的属性列表。
**提示**
在Visual Studio 2013中,仍然可以使用智能感应功能得到这个匿名类型的属性列表。