可能重复:
C#中的字段和属性有什么区别
我是一个初级程序员,我已经阅读了所有关于类属性的内容。书籍指出属性允许您间接访问成员变量。好的,那么与仅将字段公开并直接访问它有什么不同呢?
这是 Jesse Liberty 的 Learning C# 3.0 中的一段话:
例如,您可能希望外部类能够读取一个值,但不能更改它;或者您可能想要编写一些代码,以便内部字段只能接受特定范围内的值。如果您授予外部课程对您的成员字段的免费访问权限,您将无法控制其中的任何内容。
我不明白他在这里说什么。有人可以进一步解释这一点或举例说明为什么我想使用属性而不是公开该字段。据我所知,他们现在都会完成同样的事情......所以我显然在这里遗漏了一些东西。