有没有一种优雅的方法来为c#中的属性设置默认值?

Jer*_*ter 5 c# field initialization properties default-value

我已经读过,有充分的理由在SO上使用属性而不是c#中的字段.所以现在我想将我的代码从使用字段转换为使用属性.

对于类的实例字段,我可以设置默认值.例如:

int speed = 100;
Run Code Online (Sandbox Code Playgroud)

对于等价的属性,我认为是:

int Speed { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的理解是,在实例化类时,Speed属性将初始化为零.我一直无法找到如何设置默认值来轻松更新我的代码.是否有一种优雅的方式来为属性提供默认值?

似乎应该有一种优雅的方式来做到这一点,而不使用构造函数,但我只是无法找到如何.

Joe*_*nos 7

最好的办法是做一个正常的老式现场支持的财产,如:

private int _speed = 100;
public int Speed { get { return _speed; } set { _speed = value; } }
Run Code Online (Sandbox Code Playgroud)


Sun*_*ule 6

我认为设置默认值的最简单方法:

public sealed class Employee
{
    public int Id { get; set; } = 10;
}
Run Code Online (Sandbox Code Playgroud)