【发布时间】:2021-03-19 12:04:54
【问题描述】:
我在这个例子中看到了很多代码 sn-ps:
private string _possessor;
public string Possessor
{
get { return _possessor; }
set { _possessor = value; }
}
我的问题是,为什么不直接使用普通属性:
public string Possessor { get; set; }
我在互联网上阅读,但看不出有什么区别?您可以在这两个示例中设置值,第二个示例需要更少的编码并且看起来更简洁。
【问题讨论】:
-
如果只是这样,它可能是有点旧的遗留代码,其中自动属性还不是一个东西。该功能已在 C# 3 中添加(请参阅this)。但即使在它推出之后,总是有人不愿意采用新的语言特性(或者根本不知道)。
-
这是风格问题,直到你需要在getter和/或setter中放入一些逻辑,然后你需要完全实现属性,或者使用表达式主体成员,这是你的另一件事可能会看到。
标签: c# class properties field