当前位置:  开发笔记 > 程序员 > 正文

哪种更有效的方法为.NET中的变量赋值?

如何解决《哪种更有效的方法为.NET中的变量赋值?》经验,为你挑选了2个好方法。

这是我一直想知道的事情,但从未打扰过.

为临时变量赋值是否更有效,而不是继续使用该值.一个例子可能更清楚:

string s = reader.GetItem[0].ToString();
someClass.SomeField  = s;
someOtherClass.someField = s;

要么

someClass.SomeField  = reader.GetItem[0].ToString();
someOtherClass.someField = reader.GetItem[0].ToString();

我最初的想法是顶级示例会更高效,因为它不必访问Item集合或调用ToString.

有兴趣听到其他人的想法,或任何方式的确定答案.



1> Brian..:

编译器无法知道右侧的表达式是否有副作用,因此如果您对其进行两次编码,则必须重新评估它.因此,第一个更有效,因为它不会重新执行GetItem和ToString调用.

因此,如果您的程序员知道这些调用是纯/幂等的,那么您应该以第一种方式编写代码.



2> Greg Beech..:

正如布莱恩所说,第一种方式将更有效,尽管它在现实世界中是否有很大的不同取决于重复功能的价格,以及整个代码的调用频率.

然而,除了更有效率之外,第一种方式更好地表明了意图 - 你的意思是为这两件事分配相同的价值.它还有助于维护,因为如果需要更改,您只需要在一个地方进行更改.对我来说,这两者通常比效率更重要.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有