Auto-implemented properties were
introduced in C# 3.0 to make developers lives simpler by avoiding default
implementation of properties.
Let's say, we create a public
property called Model. The default implementation of the property looks like
Listing 1.
public partial class Car
{
private string model;
public string Model
{
get { return model; }
set { model = value; }
}
}
Listing 1
The same code can be replaced with
Listing 2.
public string Model { get; set; }
Listing 2
Listing 2 is automatic implemented
property example. You must implement both getter and setter on a property. The
auto-implemented properties code basically tell compiler that this property is
default property implementation and compiler writes code that is needed to do
exactly same what Listing 1 does.
So you would think what do you need the automatic properties? Well, they make your code look cleaner and faster.
If you want to learn more about properties in C#, here are couple of great articles: