Функция Switch
Обновлен: Ноябрь 2007
Вычисляет значения выражений из списка и возвращает значение Object, соответствующее первому выражению в списке, которое равно True.
Public Function Switch( _
ByVal ParamArray VarExpr() As Object _
) As Object
Параметры
- VarExpr
Необходимо. Массив параметров Object. Должен содержать четное количество элементов. Можно передать список переменных Object или выражений, разделенных запятыми, или одномерный массив элементов типа Object.
Исключения
Тип исключения |
Номер ошибки |
Условия |
---|---|---|
Число элементов нечетно. |
См. столбец "Номер ошибки", если выполняется обновление приложений 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.
Примечание. |
---|
Выражения в списке аргументов могут включать вызовы функций. В процессе подготовки списка аргументов для вызова 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)