Использование оператора Switch
Оператор switch позволяет выполнить один из нескольких блоков кода в зависимости от значения переменной или выражения. Эти блоки кода обеспечивают очень простую легкую для чтения конструкцию и предлагают альтернативный подход к использованию оператора if else if...:
switch ([expression to check])
{
case [test1]:
...
[exit case statement]
case [test2]:
...
[exit case statement]
default:
...
[exit case statement]
}
В операторе switch необходимо в круглых скобках указать выражение для проверки [expression to check] и определить значения [testX] для сравнения с переменной. Сравнения выполняются по очереди, таким образом, если значение [expression to check] совпадет со значением [test1], выполнится первый блок кода, если со значением [test2], выполнится второй блок кода и так далее. Не существует никаких ограничений на количество сравнений, которые можно включить в оператор swith, кроме памяти компьютера. Если совпадений не обнаружено, выполняется блок кода default. Блок default не является обязательным. Тип значения, который возвращает тестируемое выражение[expression to check] должен быть целым числом (включая char), строкой или логическим значением, а значения, задаваемые операторами case должны соответствовать этому типу. Каждое сравнение ([testX]) является одним значением. Проверить нескольких значений можно с помощью нескольких последовательных операторов case.
swith(a)
{
case 0:
// Executed if a is 0.
break;
case 1:
case 2:
case 3:
// Executed if a is 1, 2, or 3.
break;
default:
// Executed if a is any other value.
break;
}
Каждый блок кода в операторе switch должен заканчиваться оператором, который явно завершает конструкцию ([exit case statement]). Если опустить этот оператор, созникнет ошибка компиляции. В качестве таких оператов можно использовать:
· break; О ператор break завершает выполнение выбранного оператора.
· goto case [testX]; Оператор goto передает управление на выполнение указанного блока кода в операторе switch.
· return; Оператор приводит к завершению оператора switch и содержащихся в нем методов. С помощью оператора можно передать возвращаемое значение.
· throw; Оператор throw генерирует исключительную ситуацию.
Рекомендуется по мере возможности использовать оператор break. Использование goto case или return может привести к коду, который трудно поддерживать. В следующем примере показано использование оператора switch для проверки значения строки.
switch(carColor.ToLower())
{
case "red":
// Red car
break;
case "blue":
// Blue car
break;
default:
// Unknown car
break;
}
Не нашли, что искали? Воспользуйтесь поиском:
|