对象初始值设定项
使用对象初始值设定项,你可以在创建对象时向对象的任何可访问字段或属性分配值,而无需调用后跟赋值语句行的构造函数。 利用对象初始值设定项语法,你可为构造函数指定参数或忽略参数(以及括号语法)。
以下示例演示如何使用具有命名类型 Cat
的对象初始值设定项以及如何调用默认构造函数。
class Cat { // Auto-implemented properties. public int Age { get; set; } public string Name { get; set; } }
Cat cat = new Cat { Age = 10, Name = "Fluffy" };
集合初始值设定项
集合初始值设定项允许在初始化实现 IEnumerable 的集合类或初始化具有 Add
扩展方法的类时,指定一个或多个元素初始值设定项。 元素初始值设定项可以是简单的值、表达式或对象初始值设定项。 通过使用集合初始值设定项,你将无需在源代码中指定对该类的 Add
方法的多个调用;编译器将添加这些调用。
下面的示例演示了两个简单的集合初始值设定项:
List<int> digits = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; List<int> digits2 = new List<int> { 0 + 1, 12 % 3, MakeInt() };
下面的集合初始值设定项使用对象初始值设定项来初始化上一个示例中定义的 Cat
类的对象。 请注意,各个对象初始值设定项分别括在大括号中且用逗号隔开。
List<Cat> cats = new List<Cat> { new Cat(){ Name = "Sylvester", Age=8 }, new Cat(){ Name = "Whiskers", Age=2 }, new Cat(){ Name = "Sasha", Age=14 } };
摘抄自: 对象和集合初始值设定项(C# 编程指南)