How do I initialize the member variables during declaration and create the getter/setter shorthand? Is it possible or do I have to use the constructor to assign the value?

For example I want to do something similarl to this

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

or

public int dollars = 200;

dollars 
{
    get;
    set;
}
有帮助吗?

解决方案

In C# 6 and later, you can initialize auto-implemented properties similarly to fields:

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

Source: MSDN

其他提示

Either

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

or

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

    public Money() 
    {
        Dollars = 200;
    }
}

Unfortunately there is currently no way to achieve this.

You must either assign the default value when you declare the properties backing field or assign the default value from the constructor if you are using an automatic property.

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

  public Money()
  {
    Dollars = 200;
  }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top