可能重复:
What is the difference between a field and a property in C#
我不理解一个类中字段和属性之间的区别。
答案 0 :(得分:8)
字段是信息的存储位置。例如,如果字段的类型为int
,则它存储一个32位整数(从大约40亿到大约40亿的数字)。
属性几乎就像一个方法或一对方法。这只是代码。没有存储空间例如,而不是
public int FortySeven
{
get
{
return 47;
}
}
你也可以写
public int GetFortySeven()
{
return 47;
}
它或多或少都是一样的;唯一的区别是你写FortySeven
(没有括号)但是GetFortySeven()
(带括号)。
当然,属性也可以有 setter ,这意味着
public int FortySeven
{
set
{
Console.WriteLine(value);
}
}
与
完全相同public void SetFortySeven(int value)
{
Console.WriteLine(value);
}
现在而不是FortySeven = 47
你写SetFortySeven(47)
,但在功能上它是相同的。
自动实施的属性如下所示:
public int MyProperty { get; set; }
此代码声明字段和属性,但该字段不可见,您只能访问该属性。它使用不可见字段进行存储。