自动属性会影响运行时性能吗?

tau*_*tau 1 .net c# performance

当你声明一个这样的成员变量public bool name { get; set; }时:访问它时总会有性能损失,对吧?

我看到了很多模式,想象一下在一些性能更高的应用程序中,它可以添加频繁的访问属性.我是正确的,还是.NET在幕后做了什么?

usr*_*usr 12

自动属性desugar到一个支持领域加上琐碎的访问者身体.如果打开优化,JIT会可靠地内联它们.性能与现场相同.

只需使用自动属性而不后悔.Visual Studio有一个prop模板.输入prop<tab><tab>一个.propg用于私有setter,这对于快速标记不可变类型很有用.

  • 我在最近的一篇文章中证实了这一点 生成的(我的机器上的64位JITer代码)代码实际上内联调用并且最终直接访问支持字段.+1. (5认同)