#1,206 – C# 6.0 – Auto-Property Initializers
October 17, 2014 2 Comments
C# 3.0 introduced auto-implemented properties.
Older syntax:
private string name = "default"; public string Name { get { return name; } set { name = value; } }
Improved syntax, using auto-implemented properties:
public string Name { get; set; }
The new syntax provided no mechanism for specifying a default property value. To specify a default value, you either needed to go back to using an explicit backing variable or to set the default value from within a constructor.
C# 6.0 supports specifying default values for auto-implemented properties, as shown below.
public string Name { get; set; } = "default";