何时在C#类声明中使用get和set

Yas*_*ser 3 c#

可能重复:
C#.NET 3.5+中属性和字段之间的差异

使用之间有什么区别

public string Username { get; set; }
Run Code Online (Sandbox Code Playgroud)

和使用

public string Username;
Run Code Online (Sandbox Code Playgroud)

我一直在使用第一个,但想了解两者之间是否有任何区别,以及一个场景应该优先于另一个场景的情况。

Joh*_*Woo 5

public string Username { get; set; }
Run Code Online (Sandbox Code Playgroud)
  • 是财产。

public string Username;
Run Code Online (Sandbox Code Playgroud)
  • 是一个公共变量。

进行更多比较

  • 反射对变量与属性的作用不同,因此,如果您依赖反射,则使用所有属性会更容易。
  • 您无法与变量进行数据绑定。
  • 将变量更改为属性是一项重大更改。

其他连结