声明带get和不带get的变量之间的区别;设置



当我在这样的类中声明变量时:

public class Test
{
    public string x = 0;
}

还有一个类似的:

public class Test2
{
    public string x {get; set;}
}

有什么区别?

通常两者都不称为"变量"。第一个是"字段",第二个是"属性"(自动实现的属性)。

MSDN关于"领域"的摘录:

字段是在类或结构中直接声明的任何类型的变量。字段是其包含类型的成员。

MSDN关于"属性"的摘录:

属性是一个成员,它提供了一种灵活的机制来读取、写入或计算私有字段的值。属性可以像公共数据成员一样使用,但它们实际上是称为访问器的特殊方法。这使得数据可以轻松访问,并且仍然有助于提高方法的安全性和灵活性。

最新更新