Дело против Если Иначе Если: Что является более эффективным? [Дубликат]
Возможные дубликаты:
«else if» быстрее, чем «switch () case»?
Какова относительная производительность if / else против switch в Java?
Я снова начал кодировать в процессе ... когда отладчик просматривает оператор 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;
}
В.С.
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{
}