Страницы

Поиск по вопросам

понедельник, 29 октября 2018 г.

if \ else vs. switch \ case в C#

Что лучше использовать: 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# слишком высокоуровневый для такого рода оптимизаций.
Пишите читаемый код ;)

Комментариев нет:

Отправить комментарий