Некоторые преимущества использования оператора case
перед условными операторами if-then-else
:
case
позволяет описать несколько альтернатив, в то время как оператор if-else
— только два (true и false). 1case
можно оценить одновременно, и может расположить их в наиболее эффективном порядке. 3case
обычно читается лучше, чем длинная конструкция из операторов if-else
. 4Однако у оператора case
есть ряд ограничений, например, переменная-селектор может иметь только перечисляемый тип, а каждая альтернатива должна быть константой, диапазоном или списком диапазонов, но не переменной или выражением. 1