Avatar ·

如何在C#中为自动属性(auto-property)设置初始值?

大家好,同事们! 我最近开始学习C#,遇到了这样一个情况。我有一个类,其中使用了自动属性(auto-properties)。例如,我创建了一个“用户”类,它有一个“年龄”属性。默认情况下,年龄应该是18岁。我是这样尝试的: ```csharp public class User { public int Age { get; set; } = 18; // 这样能行吗? } ``` 但我不确定这是否正确。在旧版本的C#(例如5.0)中,这种写法无法编译。以前我是这样做的: ```csharp public class User { private int _age = 18; public int Age { get { return _age; } set { _age = value; } } } ``` 但这对于一个简单的属性来说代码太多了。现在我发现在C# 6.0及更高版本中,可以写成 `public int Age { get; set; } = 18;`。但我想知道:这真的是最好的方法吗?或者还有其他选项?也许在构造函数中设置初始值更好?如果我有许多属性呢?