我已经再次在运行中编码。...当调试器逐步执行一个case语句时,它跳转到立即与条件匹配的项目,但是当使用if / else指定相同的逻辑时,它将逐步执行每个if语句。直到找到赢家。case语句是否更有效率,还是我的调试器只是优化了整个过程?(不要担心语法/错误,我在SO中键入了它,不知道它是否可以编译,这是我遵循的原理,我不想这样做是因为int导致我模糊地记得一些关于我使用C#,但是我对跨编程语言的通用答案很感兴趣。
switch(myObject.GetType()){
case typeof(Car):
//do something
break;
case typeof(Bike):
//do something
break;
case typeof(Unicycle):
//do something
break;
case default:
break;
}
VS
Type myType = myObject.GetType();
if (myType == typeof(Car)){
//do something
}
else if (myType == typeof(Bike)){
//do something
}
else if (myType == typeof(Unicycle)){
//do something
}
else{
}
慕容3067478