C#3.0 Autoproperties - 有什么区别?

Rob*_*ett 0 syntax c#-3.0

0以下有什么区别?

public class MyClass
{
    public bool MyProperty;
}

public class MyClass
{
    public bool MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

它只是语义吗?

Dus*_*ell 5

字段和属性除了语义之外还有许多不同之处.

  1. 可以重写属性以在后代中提供不同的实现.
  2. 属性可以帮助缓解版本问题.即将字段更改为库中的属性需要根据该库重新编译任何内容.
  3. 属性可以具有不同的getter和setter可访问性.