Поделиться через


Функция Switch

Обновлен: Ноябрь 2007

Вычисляет значения выражений из списка и возвращает значение Object, соответствующее первому выражению в списке, которое равно True.

Public Function Switch( _
    ByVal ParamArray VarExpr() As Object _
) As Object

Параметры

  • VarExpr
    Необходимо. Массив параметров Object. Должен содержать четное количество элементов. Можно передать список переменных Object или выражений, разделенных запятыми, или одномерный массив элементов типа Object.

Исключения

Тип исключения

Номер ошибки

Условия

ArgumentException

5

Число элементов нечетно.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.

Заметки

Аргумент, предоставленный для VarExpr, состоит из пар выражений и значений. Функция Switch вычисляет значения нечетных выражений от нижнего до наибольшего индекса в VarExpr и возвращает четное значение, связанное с первым выражением, результатом которого является True. Например, если VarExpr(0) является True, Switch возвращает VarExpr(1) и если VarExpr(0) является False, но VarExpr(2) является True, Switch возвращает VarExpr(3) и т. д.

Если аргумент VarExpr не указан, Switch возвращает Nothing.

dft2z9yf.alert_note(ru-ru,VS.90).gifПримечание.

Выражения в списке аргументов могут включать вызовы функций. В процессе подготовки списка аргументов для вызова Switch компилятор Visual Basic вызывает каждую функцию в каждом выражении. Это означает, что нельзя полагать, что некоторый определенный класс не будет вызван, если предыдущее выражение в списке аргументов равняется True.

Пример

Данный пример демонстрирует использование функции Switch для возврата названия языка, соответствующего названию города. Необходимо, чтобы Option Strict имела значение Off.

Function matchLanguage(ByVal cityName As String) As String
    Return CStr(Microsoft.VisualBasic.Switch( _
        cityName = "London", "English", _
        cityName = "Rome", "Italian", _
        cityName = "Paris", "French"))
End Function

Поскольку пространство имен System.Diagnostics также содержит класс с именем Switch, вызов функции Switch должен быть дополнен пространством имен Microsoft.VisualBasic.

Требования

Пространство имен: Microsoft.VisualBasic

**Модуль:**Interaction

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Основные понятия

Массивы параметров

Ссылки

Функция Choose

Функция IIf

Оператор Select...Case (Visual Basic)