Question

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;
}
Was it helpful?

Solution

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

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

Source: MSDN

OTHER TIPS

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;
  }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top