相关疑难解决方法(0)

字段和属性之间有什么区别?

在C#中,是什么使字段与属性不同,何时应该使用字段而不是属性?

c# field properties

1032
推荐指数
17
解决办法
42万
查看次数

为什么在C#中使用简单属性而不是字段?

可能重复:
我应该使用公共属性和私有字段或公共字段来获取数据吗?
C#3.0中自动属性和公共字段之间的区别

人们似乎教条地坚持在田野上使用公共财产,但为什么在简单财产的情况下它如此重要?

怎么

public int Foo { get; set; }
Run Code Online (Sandbox Code Playgroud)

非常不同于

public int Foo;
Run Code Online (Sandbox Code Playgroud)

在我的脑海中,我可以想到两者之间的实际差异:

  • 使用反射访问成员(罕见,最体面的反射算法将解释差异)
  • 第二个条目允许您使用该字段作为ref和out参数的有效参数,这似乎是使用字段版本的一个优势
  • 字段在Remoting中不起作用(可能,我从未使用过远程处理,但我想他们不会)

除了这些非常罕见的情况之外,稍后将Foo更改为计算属性会导致更改0行代码.

c#

29
推荐指数
5
解决办法
2万
查看次数

标签 统计

c# ×2

field ×1

properties ×1