Что лучше использовать: if\else или switch\case?
int a = 3;
if (a == 1)
{
...
}
else if (a == 2)
{
...
}
else
{
...
}
switch(a)
{
case 1:
...
break;
case 2:
...
break;
default:
...
break;
}
Какая из этих конструкций работает быстрее? Почему?
Когда лучше использовать то или другое?
Ответ
Оба условных оператора работают с одинаковой скоростью. Так как на уровне машинных команд они преобразуются в одни и те же инструкции.
Выбирать имеет смысл только по вкусу и по задаче.
switch может работать только с одной переменной. У if таких ограничений нет.
На мой взгляд, язык C# слишком высокоуровневый для такого рода оптимизаций.
Пишите читаемый код ;)
Комментариев нет:
Отправить комментарий