在C#中使用switch语句与使用语句的好处/缺点是什么?if/else我无法想象除了你的代码外观之外还有其他重大差异.
是否有任何理由导致生成的IL或相关的运行时性能完全不同?
我一直习惯使用if,else-if语句而不是多个if语句.
例:
int val = -1;
if (a == b1) {
return c1;
} else if (a == b2) {
return c2;
} ...
...
} else {
return c11;
}
Run Code Online (Sandbox Code Playgroud)
它与例2相比如何:
if (a == b1) {
return c1;
}
if (a == b2) {
return c2;
}
....
if (a == b11) {
return c11;
}
Run Code Online (Sandbox Code Playgroud)
我知道功能明智,他们是一样的.但是,如果不这样做,最好的做法是 - 如果,不是吗?当我指出他可以用不同的方式构建代码库以使其更清晰时,它由我的一个朋友提出.这对我来说已经习惯了很长时间,但我从未问过为什么.
我只是想在C/C++中的两个语句之间有任何性能差异:
情况1:
if (p==0)
do_this();
else if (p==1)
do_that();
else if (p==2)
do_these():
Run Code Online (Sandbox Code Playgroud)
案例2:
if(p==0)
do_this();
if(p==1)
do_that();
if(p==2)
do_these();
Run Code Online (Sandbox Code Playgroud)