当我在这样的类中声明变量时:
public class Test
{
public string x = 0;
}
和另一个像这样:
public class Test2
{
public string x {get; set;}
}
有什么区别?
答案 0 :(得分:1)
通常既不称为“变量”。第一个是“field”,第二个是“property”(auto-implemented property)。
摘自MSDN的“字段”:
字段是直接在类或结构中声明的任何类型的变量。字段是其包含类型的成员。
摘自MSDN的“财产”:
属性是一种成员,它提供了一种灵活的机制来读取,写入或计算私有字段的值。属性可以像它们是公共数据成员一样使用,但它们实际上是称为访问器的特殊方法。这样可以轻松访问数据,并且仍然有助于提高方法的安全性和灵活性。