c# - 属性和字段之间的语义差异及其含义

标签 c# semantics

获取私有(private)字符串属性{get; set;}私有(private)字符串字段

请注意,两者都是私有(private)的(因此它们不会在此类之外公开)并且该属性未采用额外验证。

关于语义,它们有不同的含义吗?从某种意义上说,它们在这样使用时可以互换吗?

当涉及到影响时,例如(微观?)性能,创建字段还是属性是否重要,即让编译器为您处理支持字段。

最佳答案

当它们是私有(private)的时,我知道的唯一区别是该属性不适合 outref 参数。

但大多数情况下,私有(private)属性(property)不会带来任何优势(相对于田地),所以何必呢?
可能存在(微观)性能成本。我会更担心额外的困惑。

关于c# - 属性和字段之间的语义差异及其含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154829/

相关文章:

html - 在重复内容上不显示是否会影响 SEO/语义?

vhdl - 进程范围内的本地信号

c# - 哈希表碰撞,如何获取正确的值?

c# - 我是否正确使用列表?

c# - 领域驱动设计、包含实体和 NHibernate 持久性

c++ - 放置 new 加析构函数和简单的值初始化 noexcept 语义

c# - 如何下载 Windows Azure 云服务定义 .csdef 文件

c# - 如何返回两个日期之间的周末日期列表

HTML5 语义 Web 元素——我为什么要在内部应用程序中使用它们

javascript - Javascript 中基于函数原型(prototype)的编程的语义