Avatar ·

如何在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`,我就得修改所有构造函数。我听说可以从一个构造函数调用另一个构造函数来避免这个问题。