一行中的性能分配变量

时间:2017-01-30 10:55:50

标签: c#

最近,我开始研究一个新项目,并且几乎在所有代码中为变量赋值时,我们都会在一行中分配一些变量。一些例子:

object foo;
double bar;

foo = bar = 100;

我们的团队负责人表示会提高性能,而不是

foo = 100;
bar = 100;

但为什么呢?在第二种情况下,代码更具可读性。

有人能解释我为什么吗?

P.S。团队负责人不知道为什么,但知道更多的表现:\

1 个答案:

答案 0 :(得分:2)

两个提议的代码片段绝对相同,尽管它与性能几乎没有关系。一个程序和另一个程序有很大的语义差异。

foo = bar = 100最终会以盒装double结尾。 foo = 100; bar = 100;最终会以框int结尾。这在语义上是 big 的区别。如果稍后希望盒装double尝试通过显式转换(double)boxed取消装箱的代码,则在使用后一个选项时应用程序将崩溃。