Auto-implemented properties are only a syntactic shortcut to ordinary properties. The following auto-implemented property:
public bool MyProperty { get; set; }
...is exactly the same like:
private bool myField;
public bool MyProperty {
get { return myField; }
set { myField = value; }
}
If you use the auto-implemented property syntax, the compiler will generate the backing field and getter/setter. If you implement the property manually, you have to write more code but you have more control over the code inside getter/setter.