我以前是 Pascal 人,目前正在学习 C#。
我的问题如下:
下面的代码是否比进行切换更快?
int a = 5;
if (a == 1)
{
....
}
else if(a == 2)
{
....
}
else if(a == 3)
{
....
}
else if(a == 4)
{
....
}
else
....
还有开关:
int a = 5;
switch(a)
{
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
case 4:
...
break;
default:
...
break;
}
哪一个更快?
我问,因为我的程序有类似的结构(很多很多“else if”语句)。
我应该把它们变成开关吗?
对于少数项目来说,差异很小。如果你有很多物品,你绝对应该使用开关。
如果一个开关包含五个以上的项目,则使用查找表或哈希列表来实现。这意味着所有项目都获得相同的访问时间,与 if:s 列表相比,其中最后一个项目需要更多时间才能到达,因为它必须首先评估每个先前的条件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)