11

如何在声明期间初始化成员变量并创建 getter/setter 简写?有可能还是我必须使用构造函数来分配值?

例如,我想做与此类似的事情

public class Money
{
   public int dollars = 200 {get; set;}
}

或者

public int dollars = 200;

dollars 
{
    get;
    set;
}
4

4 回答 4

32

在 C# 6 及更高版本中,您可以初始化自动实现的属性,类似于字段:

public string FirstName { get; set; } = "Jane";

资料来源:MSDN

于 2016-01-22T17:00:41.307 回答
6

任何一个

public class Money
{
    private int dollars = 200;
    public int Dollars
    {
        get { return dollars; }
        set { dollars = value; }
    }
}

或者

public class Money
{
    public int Dollars { get; set; }

    public Money() 
    {
        Dollars = 200;
    }
}
于 2013-10-20T22:50:35.123 回答
5

不幸的是,目前没有办法实现这一点。

您必须在声明属性支持字段时分配默认值,或者如果您使用自动属性,则必须从构造函数分配默认值。

于 2013-10-20T22:37:07.277 回答
3
public class Money
{
  public int Dollars {get;set;}

  public Money()
  {
    Dollars = 200;
  }
}
于 2013-10-20T22:41:01.917 回答