With a new release of the C# language approaching, it’s also time to look at new features for C#.
First up is the ability to use an initialization expression with an automatically implemented property.
Currently, a constructor is required if you want to create objects using an auto-property and initialize an auto-property to a non-default value.
In C# 6.0, the ability to use an initializer with the auto-property means no explicit constructor code is required.
public class User { public Guid Id { get; } = Guid.NewGuid(); // ... }
Another benefit of the syntax is how an initialized auto-property only requires a getter, the set method is optional. With no setter, immutability is easier to achieve.
The property initialization syntax also plays well with another new feature for C# 6, the primary constructor syntax. We’ll look at primary constructors in the next post for this series.