我有一个这样的课:
class data { public double time { get; internal set; } public double count { get; internal set; } public average_count { ... }}
其中average_count应为read_only并计算计数/时间.
将访问者编写为:
public average_count { get { return (time == 0) ? 0 : (count / time);}}
或者我应该做以下事情:
private _avg_count;public average_count { get { return _avg_count; } internal set { return _avg_count; }}
在时间和计数集访问器中更新_avg_count的位置?
看起来第一个更容易阅读,但如果经常访问average_count可能会更慢.编译器优化是否会使差异无关紧要?
解决方法 即时执行会产生更易读的代码.预先计算可以提高性能,但是只有在(a)有必要和(b)您已经分析并且它有所不同时,您才应该这样做.最重要的是,可读性和可维护性只有在绝对必要时才能牺牲性能.
总结以上是内存溢出为你收集整理的C#访问者应该使用私有变量还是动态计算?全部内容,希望文章能够帮你解决C#访问者应该使用私有变量还是动态计算?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)