C#访问者应该使用私有变量还是动态计算?
发布时间:2020-12-15 20:51:13 所属栏目:百科 来源:网络整理
导读:哪个是更好的编程习惯,为什么? 我有一个这样的课: class data { public double time { get; internal set; } public double count { get; internal set; } public average_count { ... }} 其中average_count应为read_only并计算计数/时间. 将访问者编写为
哪个是更好的编程习惯,为什么?
我有一个这样的课: 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)您已经分析并且它有所不同时,您才应该这样做.
最重要的是,可读性和可维护性只有在绝对必要时才能牺牲性能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |