我现在看到了两种不同的方法来创建布尔返回方法:
bool Case1()
{
if (A)
return true;
else
return false;
}
bool Case2()
{
if (A)
return true;
return false;
}
哪一个更快?不写还有意义吗else
只是为了节省一行,使其更清晰,还是性能增益可以忽略不计?
No.
即使我们看着他们IL
代码,它们有相同的IL
代码,因此它们之间没有性能差异。使用对您来说更具可读性的一个.
.method private hidebysig instance bool Case1() cil managed
{
// Code size 9 (0x9)
.maxstack 1
.locals init ([0] bool CS$1$0000,
[1] bool CS$4$0001)
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: stloc.1
IL_0003: ldc.i4.1
IL_0004: stloc.0
IL_0005: br.s IL_0007
IL_0007: ldloc.0
IL_0008: ret
} // end of method Program::Case1
查看这些代码片段的性能;
http://ideone.com/8Sc7Ho http://ideone.com/8Sc7Ho--> 内存:33856 kB
http://ideone.com/MrnaAl http://ideone.com/MrnaAl--> 内存:33808 kB
因此,即使您使用它们 10,000 次,也无需担心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)