对象初始化器
- C# 对象初始化器是一种语法结构,它允许在创建对象时为其设置初始值。
- 使用对象初始化器,可以在创建对象的同时为对象的属性或字段赋值,而不需要显式地调用属性或字段的赋值语句。
- 对象初始化器提供了一种简洁的方法来初始化对象,并且可以提高代码的可读性和可维护性。
csharp
/// <summary>
/// 定义一个 Person 类
/// </summary>
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
// 创建一个 Person 对象,并使用初始化器初始化其成员变量
Person person = new Person { Name = "张三", Age = 20 };
}
}在上面的例子中,我们首先定义了一个 Person 类,该类具有 Name 和 Age 两个属性。接着我们创建了一个 Person 对象,并使用对象初始化器来初始化其成员变量。
- 对象初始化器使用花括号
{}包裹一组用逗号,分隔的属性赋值表达式。 - 每个属性赋值表达式由属性名称和值组成,中间用赋值运算符
=连接。 - 对象初始化器中可以指定对象的任意公有成员变量和属性,甚至可以嵌套对象初始化器,以初始化对象的子对象。
csharp
/// <summary>
/// 定义一个 Address 类
/// </summary>
public class Address
{
public string Street { get; set; }
public string City { get; set; }
}
/// <summary>
/// 定义一个 Person 类,其中包含一个 Address 对象
/// </summary>
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Address Address { get; set; }
}
class Program
{
static void Main(string[] args)
{
// 创建一个 Person 对象,并使用嵌套对象初始化器初始化其 Address 对象
Person person = new Person
{
Name = "张三",
Age = 20,
Address = new Address
{
Street = "长安街",
City = "北京"
}
};
}
}在上面的例子中,我们定义了一个 Address 类和一个包含 Address 对象的 Person 类。我们创建了一个 Person 对象,并使用嵌套对象初始化器初始化其 Address 对象。
注意
- 对象初始化器只能用于在创建对象时初始化成员变量和属性,不能用于其他地方。
- 使用对象初始化器初始化对象时,需要保证所有必需的属性都被正确地初始化。