我意识到这似乎是C#中的字段和属性之间的区别是什么的副本?但是我的问题(从我的角度来看)略有不同:
一旦我知道
有什么区别(样式/未来开发除外),例如设置属性时的某种控件?
之间是否还有其他区别:
public string MyString { get; set; }
和
public string myString;
(我知道,第一个版本需要C#3.0或更高版本,并且编译器确实会创建专用字段。)
封装。
在第二个实例中,您刚刚定义了一个变量,在第一个实例中,该变量周围有一个getter / setter方法。因此,如果您决定以后再验证变量-会容易得多。
另外,它们在Intellisense中的显示方式也不同:)
编辑: 更新OPs更新的问题-如果您想在这里忽略其他建议,另一个原因是它根本不是一个好的OO设计。并且,如果您没有很好的理由这样做,请 始终 在公共变量/字段上选择一个属性。