【发布时间】:2019-09-03 23:20:41
【问题描述】:
考虑以下替代实现,派生的内部类旨在覆盖,返回true:
public virtual bool IsInternal => false;
...和...
public virtual bool IsInternal() => false;
内存和性能方面的区别是什么?
编译器能否检测静态结果并在优化/内联时使用它们而不是保存每个实例的属性值或调用函数? 编译器是否可以内联这些虚拟成员?会有什么影响?
【问题讨论】:
-
你为什么要问?你的问题的背景是什么?为什么答案对你很重要?
-
在您的两个解决方案中,第一个是只读属性(没有支持字段),第二个是函数。该属性(以您编写的样式)在引擎盖下基本上是相同的功能。所以我希望它们在大多数情况下表现基本相同。
标签: c# performance compiler-optimization