C# 字段和属性 [重复]
Posted
技术标签:
【中文标题】C# 字段和属性 [重复]【英文标题】:C# fields and properties [duplicate] 【发布时间】:2011-06-19 00:44:22 【问题描述】:可能重复:What is the difference between a field and a property in C#
我不明白类中字段和属性之间的区别。
【问题讨论】:
msdn.microsoft.com/en-us/library/ms173118.aspx msdn.microsoft.com/en-us/library/x9fsa0sw.aspx 【参考方案1】:字段是信息的存储位置。例如,如果该字段的类型为 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);
现在你写SetFortySeven(47)
而不是FortySeven = 47
,但除此之外它在功能上是相同的。
自动实现的属性如下所示:
public int MyProperty get; set;
这段代码声明了一个字段和一个属性,但该字段是不可见的,您只能访问该属性。它使用不可见的字段进行存储。
【讨论】:
以上是关于C# 字段和属性 [重复]的主要内容,如果未能解决你的问题,请参考以下文章