有什么好处:
public string User {get; set;}
在
public string User;
由于您无法在第一种情况下访问私人会员,因此仅将您的财产公开会有何不同?
答案 0 :(得分:7)
第二个示例是将字段设为公开,而不是属性(您的问题)。这提供了一种简单的方法来制作简单的属性。属性应该是您的默认属性,而不是公共字段;原因列表是无止境的,但从以下开始:
事后从一个字段变为一个属性是一个重大改变 - 特别是如果你使用了很多“ref”代码或可变结构(如此)。
答案 1 :(得分:1)
当用户值更改时,您必须执行许多操作。您在设计课程时事先不知道或不在场的事情。 例如,有一天您意识到用户值应至少为5个字符。如果你拥有并且属性很容易实现。如果您有公共字段,则必须将其更改为property并重新编译所有相关代码。
从本质上讲,我认为明确区分我们类型的公共/ API部分和私有实现细节是值得的。
有人提到过封装吗? ;)