5.3. Условный переход Select Case

Условная инструкция Select Case по своим возможностям аналогична If…Then… Else, но, прежде всего, рассчитана на выбор одного варианта не из двух, а из нескольких возможных. Синтаксис инструкции Select Case следующий:

Select Case выражение

[Case список_значений_выражения-n

[инструкции-n]]…

[Case Else

[инструкции_else]]

End Select

Результат выражения, находящегося после ключевых слов Select Case, используется Visual Basic при выборе одного из блоков инструкций Case (Вариант). В начале каждого блока Case (Вариант) находится список допустимых значений. При совпадении одного из них с результатом выражения, выполняется именно этот блок Case (Вариант).

Данный список может содержать один или несколько элементов, разделенных запятыми, каждый из которых может быть:

• значением,

• выражением,

• диапазоном,

• оператором сравнения.

С непосредственными значениями и выражениями мы уже встречались. Диапазон использует ключевое слово To (До) и определяет множество допустимых значений, от минимального до максимального:

выражение_минимум To выражение_максимум

Примеры диапазонов:

1 To 5

varX To varX +20

Оператор сравнения обязательно содержит ключевое слово Is (Есть), которое олицетворяет текущий результат выражения:

Is оператор_сравнения выражение

Данный блок инструкций Case (Вариант) выполняется, если результатом оператора сравнения будет True (Истина). Примеры операторов сравнения:

Is <> 0

Is> varX

Блок инструкций Case Else (Другой вариант) выполняется, если Visual Basic не находит подходящего значения ни в одной из блоков Case (Вариант).

В следующем примере Select Case оценивает значение переменной Mark, которой до этого был присвоен номер школьной оценки в цифровом виде, и расшифровывает ее. Если значение переменной Mark отличается от допустимого (от одного до пяти), то выдается сообщение об этом.

Select Case Mark

Case 1

MsgBox «Единица»

Case 2

MsgBox «Двойка»

Case 3

MsgBox «Тройка»

Case 4

MsgBox «Четверка»

Case 5

MsgBox «Пятерка»

Case Else

MsgBox «Оценка введена неправильно!»

End Select

Данный текст является ознакомительным фрагментом.