我知道使用自动属性时,编译器会在幕后创建自己的后备字段。然而,在我阅读的许多程序中以进行学习时,我看到人们明确地编写
private int _backingField;
public int Property { get { return _backingField; } }
以上和以下有什么区别?
public int Property { get; private set; }
我知道在属性的getter或setter中实际存在副作用时使用属性是很明显的,但这通常并非如此。此外,我知道在结构体的情况下必须显式使用后备字段,无法通过属性访问它们的成员。
我找到的唯一区别是在定义属性的类内部调用值的方式不同。那么,是简单的偏好还是通过属性调用值和直接访问字段有更多差异?是简单的约定吗?