C#获取集与未获取集

use*_*315 5 c# get set

我已经查看了至少10个关于获取/设置的SO问题,但找不到我的问题.所以我希望这不是重复.

public class myint
{
    public int value{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

VS

public class myint
{
    public int value;
}
Run Code Online (Sandbox Code Playgroud)

以上两个代码对我来说是一样的.如果我想使用myint类,我只需编写下面的代码,它就可以在任一类上运行.

myint A;
A.value=10;
Run Code Online (Sandbox Code Playgroud)

那么get/set的用途是什么?

小智 1

http://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx

属性是提供灵活机制来读取、写入或计算私有字段值的成员。属性可以像公共数据成员一样使用,但它们实际上是称为访问器的特殊方法。这使得数据可以轻松访问,并且仍然有助于提高方法的安全性和灵活性。

以下是我想到的一些区分公共变量{get;set;}和公共成员变量的事情:

  1. 数据绑定需要属性。
  2. get 和 set 可以有不同的访问器(例如 public int Value {get; protected set;}
  3. 获取;设置;可以是接口的一部分,例如interface IHasValueGetter { public int Value {get;}}

C# 中的字段和属性有什么区别?