相关疑难解决方法(0)

"else if"是否比"switch()case"更快?

可能重复:
在C#中使用if/else和switch-case之间是否有任何显着差异?

我是前Pascal人,目前正在学习C#.我的问题如下:

下面的代码比开关更快吗?

int a = 5;

if (a == 1)
{
    ....
}
else if(a == 2)
{
    ....
}
else if(a == 3)
{
    ....
}
else if(a == 4)
{
    ....
}
else
    ....
Run Code Online (Sandbox Code Playgroud)

和开关:

int a = 5;

switch(a)
{
    case 1:
        ...
        break;

    case 2:
        ...
        break;

    case 3:
        ...
        break;

    case 4:
        ...
        break;

    default:
        ...
        break;


}
Run Code Online (Sandbox Code Playgroud)

哪一个更快?

我问,因为我的程序有类似的结构(许多很多"其他如果"语句).我应该把它们变成开关吗?

c# performance if-statement switch-statement

344
推荐指数
11
解决办法
34万
查看次数

make switch使用===比较不==比较在PHP中

反正是为了使下面的代码仍然使用开关b而不返回a?谢谢!

$var = 0;
switch($var) {
    case NULL : return 'a'; break;
    default : return 'b'; break;
}
Run Code Online (Sandbox Code Playgroud)

当然,使用if语句,你可以这样做:

$var = 0;
if($var === NULL) return 'a';
else return 'b';
Run Code Online (Sandbox Code Playgroud)

但是对于更复杂的例子,这变得冗长.

php type-conversion

71
推荐指数
4
解决办法
1万
查看次数

case-statement或if-statement效率视角

可能重复:
"else if"是否比"switch()case"更快?
Java中if/else与switch语句的相对性能差异是什么?

我知道case语句可以用跳转表来实现.这是否比if语句更有效?

这只是应该避免的微观优化吗?

java performance if-statement case-statement

11
推荐指数
1
解决办法
2万
查看次数