多个if if else如果哪个更快

时间:2018-01-24 21:55:29

标签: c# winforms

我正在尝试进行代码执行速度更快的测试。

情况1

int a=2;

if(a==1)
{
//code here
}
if(a==2)
{
//code here
}
if(a==3)
{
//code here
}

情况2

int a=2;

if(a==1)
{
//code here
}
else if(a==2)
{
//code here
}
else if(a==3)
{
//code here
}

在情况1中,' int a'在if语句中总是有不同的值

2 个答案:

答案 0 :(得分:0)

如果您有很多if或if else语句,我建议使用这样的switch语句:

int a = 2;
     switch (a)
      {
      case 1:

        break;
      case 2:

        break;
      case 3:

        break;
     }

参考:http://www.blackwasp.co.uk/SpeedTestIfElseSwitch.aspx

答案 1 :(得分:0)

第二个代码块可以更快,因为第一个代码块总是测试每个条件。第二个在找到匹配后停止测试。