如何在C#中从一个构造函数调用另一个构造函数?(this, base)
大家好!我开始学习C#,在处理构造函数时遇到了一个问题。我有一个`Person`类,包含几个字段,我想创建两个构造函数:一个带参数(姓名、年龄、城市),另一个只带姓名和年龄,并将城市设置为默认值("莫斯科")。
这是我的代码:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
public Person(string name, int age, string city)
{
Name = name;
Age = age;
City = city;
}
public Person(string name, int age)
{
Name = name;
Age = age;
City = "Москва";
}
}
```
问题在于我重复了代码——`Name`和`Age`的赋值在两个构造函数中都出现了。如果我添加一个新字段,比如`Phone`,我就得修改所有构造函数。我听说可以从一个构造函数调用另一个构造函数来避免这个问题。