这是我一直想知道的事情,但从来没有费心去分析。
将值分配给临时变量是否比继续使用该值更有效。一个例子可能更清楚:
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。
有兴趣听听其他人的想法,或者以任何一种方式给出明确的答案。
最佳答案
编译器无法知道右侧的表达式是否有副作用,因此如果您对它进行两次编码,它必须重新评估它。因此,第一个更有效,因为它不会重新执行 GetItem 和 ToString 调用。
因此,如果您的程序员知道这些调用是纯/幂等的,那么您应该以第一种方式编写代码。
关于.net - 在 .NET 中为变量赋值的更有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/241994/