Разное

Case select visual basic: Оператор Select…Case — Visual Basic

VBA Excel. Оператор Select Case (синтаксис, примеры)

Оператор Select Case, выполняющий одну или более групп операторов VBA Excel в зависимости от значения управляющего выражения. Синтаксис, компоненты, примеры.

1. Описание оператора Select Case

1.1. Синтаксис оператора Select Case

1.2. Компоненты оператора Select Case

2. Примеры использования в VBA Excel

2.1. Пример 1

2.2. Пример 2

Описание оператора Select Case

Оператор Select Case используется в VBA Excel для управления отдельными блоками операторов в зависимости от значения управляющего выражения (переменной) и сравнительных условий, задаваемых ключевым словом Case.

Синтаксис оператора Select Case

1

2

3

4

5

6

7

8

9

10

11

Select Case выражение

    Case условие 1

        [операторы 1]

    Case условие 2

        [операторы 2]

———————

    Case условие n

        [операторы n]

    Case Else

        [операторы]

End Select

Компоненты оператора Select Case

  • выражение – любое числовое или строковое выражение, переменная;
  • условие – диапазон значений или выражение с операторами сравнения и ключевым словом Is*;
  • операторы – блок операторов VBA Excel, который выполняется при вхождении значения управляющего выражения в диапазон, заданный в условии, или при возврате выражением с операторами сравнения значения True;
  • блок операторов после ключевой фразы Case Else** выполняется в том случае, если в предыдущих условиях Case не будет найдено совпадений со значением управляющего выражения (переменной).

* Редактор VBA Excel автоматически добавляет ключевое слово Is в условия с операторами сравнения.
** Компонент Case Else с соответствующим блоком операторов необязательны, но рекомендуется их использовать для обработки непредвиденных значений управляющего выражения (переменной).

Примеры использования в VBA Excel

Пример 1

Пример использования оператора Select Case с операторами сравнения в условиях:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Sub primer1()

Dim a As Integer, b As String

a = InputBox(«Введите число от 1 до 5», «Пример 1», 1)

    Select Case a

        Case Is = 1

            b = «один»

        Case Is = 2

            b = «два»

        Case Is = 3

            b = «три»

        Case Is = 4

            b = «четыре»

        Case Is = 5

            b = «пять»

        Case Else

            b = «Число не входит в диапазон от 1 до 5»

    End Select

MsgBox b

End Sub

Этот пример аналогичен первому примеру из статьи VBA Excel. Функция Choose, с помощью которой и следует решать подобные задачи в VBA Excel.

Пример 2

Пример использования оператора Select Case с заданным диапазоном в условиях:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Sub primer2()

Dim a As Integer, b As String

a = InputBox(«Введите число от 1 до 30», «Пример 2», 1)

    Select Case a

        Case 1 To 10

            b = «Число » & a & » входит в первую десятку»

        Case 11 To 20

            b = «Число » & a & » входит во вторую десятку»

        Case 21 To 30

            b = «Число » & a & » входит в третью десятку»

        Case Else

            b = «число » & a & » не входит в первые три десятки»

    End Select

MsgBox b

End Sub

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

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Visual Basic.Net | Оператор Select … Case и списки ListBox

Урок из серии: «Программирование на Visual Basic.NET для школьников»

На этом занятии будет описан элемент управления ListBox (список). Вы научитесь  обрабатывать выбор пользователя из списка.

В Visual Basic.net для того, чтобы предоставить пользователю список вариантов, можно отобразить список в элементах управления ListBox(список) или ComboBox (комбинированный список). Каждый из них мы рассмотрим отдельно.

В этом уроке остановимся на элементе управления ListBox. На одном из следующих уроков  будет описан элемент ComboBox.

Для обработки выбора пользователя из списка  можно использовать условный оператор if или оператор выбора Select . . . Case. В этом уроке для этой цели будет показано применение оператора Select . . . Case.

Краткая справочная информация

Элемент управления ListBox (список) отображает список элементов, в котором пользователь может выбрать один или несколько элементов. Прямое редактирование списка невозможно. Когда пользователь выбирает элемент, он выделяется в списке. .

Элемент управления ComboBox представляет собой комбинацию текстового поля и списка. По умолчанию поле со списком отображается как текстовое поле, но если пользователь щелкнет стрелку раскрывающегося списка, то появится список. Позволяет выбирать из списка заранее определенную строку или вводить новое значение.

Процедуры добавления элементов в списки и поля со списком похожи.

Записи в список  добавляются  одним из способов:

  1. в режиме конструктора с помощью коллекции Items из окна Свойства;
  2. в программном коде с помощью метода ADD.

Итак, вернемся к нашей задаче. На этом уроке мы рассмотрим только первый вид списка — список ListBox.

В проекте будет использоваться свойства объекта ListBox, которые не включены в список свойств (не могут быть определены на этапе разработки формы), но которые можно применять  этапе разработки программного кода.

Перечислим эти свойства.

СвойстваОписание
SelectedIndexНомер выбранного элемента списка. Нумерация ведется от нуля.
SelectedItemЗначение выбранного элемента
ItemsCountЧисло элементов в списке
ItemsПозволяет создать список во время разработки.
SelectionModeОпределяет, сколько элементов списка можно выбрать одновременно.

Для обработки выбора пользователя  будет использоваться оператор выбора Select Case.

Краткие сведения об операторе Select Case

Оператор Select Case используется тогда, когда  на основе значения одной переменной или свойства производится выбор из  трех или более ветвей алгоритма. В этом случае он обычно гораздо яснее, чем вложенная структура If…Then, и более эффективен.

Однако когда выбор зависит от значений нескольких различных переменных, то нужно использовать структуру выбора If…Then.

В этом уроке показано использование оператора выбора  Select Case для обработки ввода из поля списка ListBox.

Оператор Select . . . Case

Синтаксис оператора выбора Select . . .Case  на языке Visual Basic.NET:

Select Case переменная
   Case значение1
      Операторы, исполняемые, если значение переменной совпадает со значением1
   Case значение2
      Операторы, исполняемые, если значение переменной совпадает со значением2
   Case Else
      Операторы, исполняемые, если со значением переменной  не совпадает 
      ни один из вариантов
End Select

Переходим к практическим заданиям.

Проект «Приветствие»

Создайте проект,  который отображает приветствие  на языке той страны, которую выбирают из списка. Для выбора одного из пяти языков использовать структуру Select Case.

Технология выполнения

  1. Создайте новый проект c именем «Приветствие».
  2. Создайте интерфейс по образцу.
  3. Установите свойства объектов в соответствии со следующей таблицей.
    ОбъектСвойствоЗначение
    Form1
    Text
    «Приветствие»
    Label1Text«Выберите страну»
    Label2Textпусто
    Label3BorderStyleFixed3D
    ForeColorRed
    Textпусто
    Button1Text«Выход»
  4. Теперь нужно написать программный код для заполнения списка.Сделайте двойной щелчок мышью на форме. В Редакторе кода появится процедура события Form1_Load. Для заполнения списка введите следующий код:
    ListBox1.Items.Add("Англия") ListBox1.Items.Add("Германия") ListBox1.Items.Add("Мексика") ListBox1.Items.Add("Италия") ListBox1.Items.Add("Россия")

    Для добавления элементов в список формы эти строки используют метод Add объекта список.

  5. Чтобы переключиться обратно в Конструктор Windows Forms, щелкните на закладке Form1.vb [Design] в верхней части Редактора кода.
  6. Сделайте двойной щелчок мышью на объекте списка в вашей форме, чтобы отредактировать его процедуру события. В Редакторе кода появится процедура события ListBox1_SelectedIndexChanged.Для обработки выбора, сделанного пользователем в списке, введите следующие строки:
     Label2.Text = ListBox1.Text
     Select Case ListBox1.SelectedIndex
         Case 0
             Label3.Text = "Hello, programmer"
         Case 1
             Label3.Text = "Hallo, programmierer"
         Case 2
             Label3.Text = "Hola, programador"
         Case 3
             Label3.Text = "Ciao, programmatore"
         Case 4
             Label3.
    Text = "Здравствуй, программист" End Select

    Первая строка кода отображает текст выбранного элемента списка в надписи Label2 (присваивает свойству Label2.Text  значение свойства ListBox1.Text, которое содержит текст элемента, выбранного в списке.)

    Остальные строки являются частью оператора выбора Select Case. Оператор Select Case тестирует значение свойства ListBox1.SelectedIndex (номер выбранного элемента списка), определяет,  порядковый номер строки, которую  выбрал пользователь, и выводит соответствующее приветствие в надписи Label3  (изменяет значение свойства Label3.Text).

  7. Напишите программный код для кнопки «Выход». Для этого перейдите в режим конструктора  и сделайте двойной щелчок мышью на кнопке Выход. В Редакторе кода появится процедура события Button1_Click.Введите в этой процедуре один оператор: End </>
  8. Чтобы сохранить изменения, щелкните на кнопке Сохранить все  на стандартной панели инструментов.
  9. Теперь запустите программу и посмотрите, как она работает.В списке Выберите страну щелчком мыши выберите название  страны.  Программа должна ниже под списком отобразить название страны и приветствие на языке этой страны.На иллюстрации показано приветствие для Италии.
  10. Чтобы остановить программу, щелкните на кнопке Выход. Программа остановится, и вернется среда разработки.

На этом уроке было показано, как использовать  элемент управления ListBox (список) для обработки выбора пользователя.

Кроме того, на этом уроке закончилось описание оператора ветвления If…Then и оператора выбора Select Case.

Однако у вас будет еще несколько возможностей поработать с ними. If…Then и Select Case — это два из наиболее важных и ключевых механизмов Visual Basic, и вы обнаружите, что будете использовать их почти в каждой программе.

На следующем занятии вы узнаете, как обработать событие MouseHover (наведение указателя мыши)  для списка ListBox.

Следующий урок: Обработка события MouseHover для списка ListBox

Оператор Select…Case — Visual Basic

Редактировать

Твиттер LinkedIn Фейсбук Электронное письмо

  • Статья
  • 4 минуты на чтение

Запускает одну из нескольких групп операторов в зависимости от значения выражения.

Синтаксис

 Выберите [Case] ​​testexpression
    [Список выражений регистра
        [ заявления ] ]
    [ Дело еще
        [другие утверждения]]
Конец выбора
 

Детали

Срок Определение
тестовое выражение Обязательно. Выражение. Must evaluate to one of the elementary data types ( Boolean , Byte , Char , Date , Double , Decimal , Integer , Long , Object , SByte , Короткий , Одинарный , Строка , UInteger , ULong и UShort ).
список выражений Требуется в операторе Case . Список выражений, представляющих значения соответствия для testexpression . Предложения с несколькими выражениями разделяются запятыми. Каждое предложение может принимать одну из следующих форм:

выражение1 To выражение2
— [ Является ] оператор сравнения выражение
выражение

Используйте ключевое слово To , чтобы указать границы диапазона значений соответствия для testexpression . Значение выражение1 должно быть меньше или равно значению выражение2 .

Используйте ключевое слово Is с оператором сравнения ( = , <> , < , <= , > или >= ), чтобы указать ограничение на значения соответствия для testexpression . Если ключевое слово Is не указано, оно автоматически вставляется перед оператором сравнения .

Форма, определяющая только выражение , рассматривается как частный случай формы Is , где оператор сравнения является знаком равенства ( = ). Эта форма оценивается как тестовое выражение = выражение .

Выражения в список_выражений может иметь любой тип данных при условии, что они неявно преобразуются в тип тестового выражения , а соответствующий оператор сравнения действителен для двух типов, с которыми он используется.

выписки Дополнительно. Один или несколько операторов после Case , которые выполняются, если testexpression соответствует любому предложению в списке выражений .
elsestatements Дополнительно. Один или несколько операторов, следующих за Case Else , которые выполняются, если testexpression не соответствует ни одному пункту в списке выражений любого из операторов Case .
Конец выбора Завершает определение конструкции Select ... Case .

Если testexpression соответствует любому Case список выражений операторы, следующие за оператором Case , переходят к следующему оператору Case , Case Else или End Select . Затем управление переходит к оператору, следующему за End Select . Если testexpression соответствует предложению списка выражений в более чем одном предложении Case , выполняются только операторы, следующие за первым совпадением.

Оператор Case Else используется для введения elsestatements для запуска, если не найдено совпадения между testexpression и предложением списка выражений в любом из других операторов Case . Хотя это и не обязательно, рекомендуется иметь оператор Case Else в конструкции Select Case для обработки непредвиденных значений testexpression . Если нет Case expressionlist , предложение соответствует testexpression и нет Case Else , управление переходит к оператору, следующему за оператором End Select .

В каждом предложении Case можно использовать несколько выражений или диапазонов. Например, следующая строка допустима.

Case 1 To 4, 7 To 9, 11, 13, Is > maxNumber

Примечание

Ключевое слово Is , используемое в Case и Case Else , не совпадает с оператором. , который используется для сравнения ссылок на объекты.

Вы можете указать диапазоны и несколько выражений для строк символов. В следующем примере Case соответствует любой строке, которая точно равна "apples", имеет значение между "nuts" и "soup" в алфавитном порядке или содержит то же самое значение, что и текущее значение testItem .

Случай "apples", "nuts" To "soup", testItem

Настройка Option Compare может повлиять на сравнение строк. Под Опция Сравнить Текст строки «Яблоки» и «яблоки» сравниваются как равные, но в Option Compare Binary они не совпадают.

Примечание

Оператор Case с несколькими предложениями может демонстрировать поведение, известное как короткое замыкание . Visual Basic оценивает предложения слева направо, и если одно из них соответствует testexpression , остальные предложения не оцениваются. Сокращение может улучшить производительность, но может привести к неожиданным результатам, если вы ожидаете каждое выражение в список выражений для оценки. Дополнительные сведения о сокращении см. в разделе Логические выражения.

Если коду в блоке операторов Case или Case Else больше не нужно выполнять какие-либо операторы в блоке, он может выйти из блока с помощью оператора Exit Select . Это немедленно передает управление оператору, следующему за End Select .

Конструкции Select Case могут быть вложены друг в друга. Каждое вложенное 9Конструкция 0038 Select Case должна иметь соответствующий оператор End Select и должна полностью содержаться в одном блоке операторов Case или Case Else внешней конструкции Select Case , в которую она вложена.

Пример

В следующем примере конструкция Select Case используется для записи строки, соответствующей значению переменной числа . Второй оператор Case содержит значение, которое соответствует текущему значению 9.0038 число , поэтому выполняется оператор, который пишет «Между 6 и 8 включительно».

 Размерный номер Целое число = 8
Выберите номер дела
    Случай 1–5
        Debug.WriteLine("От 1 до 5 включительно")
        ' Ниже приведено единственное предложение Case, которое оценивается как True.
    Случай 6, 7, 8
        Debug.WriteLine("От 6 до 8 включительно")
    Случай 9–10
        Debug.WriteLine("Равно 9 или 10")
    Дело еще
        Debug.WriteLine("Не между 1 и 10 включительно")
Конец выбора
 

См. также

  • Выберите
  • Завершение заявления
  • Оператор If…Then…Else
  • Заявление о сравнении опций
  • Заявление о выходе

Обратная связь

Отправить и просмотреть отзыв для

Этот продукт Эта страница

Просмотреть все отзывы о странице

Выбор оператора Case в VB.

Net с примерами

АвторChristina Tyler

Часы

Обновлено

Что такое Select Case в VB.Net?

Select Case — это условный оператор, который помогает проверить переменную на равенство набору значений. Каждое значение называется случаем, и включаемая переменная должна проверяться для всех случаев выбора.

Оператор Select Case предоставляет простой способ проверки содержимого переменной. Однако он подходит для использования только тогда, когда рассматриваемая переменная имеет только ограниченное количество опций.

В этом руководстве по VB Net вы узнаете:

  • Что такое Select Case в VB.Net?
  • Синтаксис оператора Select Case в VB.Net
  • Примеры программы VB.Net Select Case Statement
  • Функции ToLower() и ToUpper() в VB.Net

Синтаксис оператора Select Case в VB.

Net

Оператор Select Case объявлен в VB.Net с использованием следующего синтаксиса:

 Select [ Case ] your_expression
   [ Case expression_list
      [ заявления) ] ]
   [ Дело еще
      [иначе заявление(я) ] ]
Конец выбора
 

Опишем параметры, используемые в синтаксисе:

  • ваше_выражение : это выражение, которое оценивается как один из элементарных типов данных, поддерживаемых в Microsoft VB.NET.
  • список_выражений : предложения выражения, обозначающие значения соответствия для выражения. В случае нескольких предложений разделите их запятой (,).
  • оператор(ы) : операторы, которые следуют за Case и выполняются после того, как выражение select соответствует любому предложению в expression_list.
  • операторы else : операторы, которые следуют за оператором Case Else и выполняются после того, как выражение выбора не соответствует ни одному из предложений в списке_выражений для любого оператора Case.

VB.Net Примеры программ оператора Select Case

Давайте используем пример, чтобы продемонстрировать, как использовать оператор Select Case в VB.Net:

Шаг 1) Сначала создайте новое консольное приложение.

Шаг 2) Используйте следующий код:

 Модуль Модуль1
    Подоснова()
        Dim имя как строка
        имя = "Гуру99"
        Выберите название дела
            Дело «Джон»
                Console.WriteLine("Привет, Джон")
            Кейс "Гуру99 дюймов
                Console.WriteLine("Привет, Гуру99")
            Кейс "Алиса"
                Console.WriteLine("Привет Алиса")
            Кейс "Джоэл"
                Console.WriteLine("Привет, Джоэл")
            Дело еще
                Console.WriteLine("неизвестное имя")
        Конец выбора
        Console.WriteLine("VB.NET это просто!")
        Консоль.ReadKey()
    Конец сабвуфера
Конечный модуль
 

Шаг 3) Нажмите кнопку «Пуск» на верхней панели, чтобы запустить программу. Это даст вам следующий результат:

Вот скриншот кода, который мы использовали:

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Запуск основной подпроцедуры.
  3. Создание строковой переменной с именем name.
  4. Присвоение имени переменной значения Guru99.
  5. Значение имени переменной будет использоваться для выполнения сравнений с различными операторами Case для поиска соответствия.
  6. Если значением имени переменной является John.
  7. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  8. Если значение имени переменной равно Guru99.
  9. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  10. Если значением имени переменной является Алиса.
  11. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  12. Если значением имени переменной является Джоэл.
  13. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  14. Если ни один из приведенных выше операторов Case не соответствует действительности.
  15. Текст для печати на консоли, если указанный выше случай истинен, то есть ни один оператор Case не соответствует.
  16. Конец инструкции Select.
  17. Этот оператор выведет некоторый текст на экран независимо от того, совпал ли оператор Case или нет. Он всегда будет выполняться.
  18. Приостановить окно консоли на некоторое время, ожидая, пока пользователь не закроет его.
  19. Конец основной подпроцедуры.
  20. Конец модуля.

Пример 2

Вы также можете разрешить пользователю вводить имя, на основании которого вы принимаете решение.

Шаг 1) Создайте новое консольное приложение.

Шаг 2) Используйте следующий код:

 Модуль Модуль1
    Подоснова()
        Console.Write("Введите ваше имя:")
        Dim name As String = Console. ReadLine()
        Выберите название дела
            Дело «Джон»
                Console.WriteLine("Привет, Джон")
            Кейс "Гуру99"
                Console.WriteLine("Привет, Гуру99")
            Кейс "Алиса"
                Console.WriteLine("Привет Алиса")
            Кейс "Джоэл"
                Console.WriteLine("Привет, Джоэл")
            Дело еще
                Console.WriteLine("неизвестное имя")
        Конец выбора
        Console.WriteLine("VB.NET это просто!")
        Консоль.ReadKey()
    Конец сабвуфера
Конечный модуль
 

Шаг 3) Нажмите кнопку «Пуск» на верхней панели, чтобы выполнить его. Он должен вернуть следующее:

Шаг 4) Введите имя Guru99 и нажмите клавишу ввода. Вы должны получить следующее:

Вот скриншот кода:

Пояснение кода:

  1. Создание модуля с именем Module1.
  2. Запуск основной подпроцедуры.
  3. Вывод на консоль текста, предлагающего пользователю ввести свое имя.
  4. Создание строковой переменной с именем name и предложение пользователю ввести значение этой переменной на консоли.
  5. Значение имени переменной будет использоваться для выполнения сравнений с различными операторами Case для поиска соответствия.
  6. Если значением имени переменной является Джон.
  7. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  8. Если значение имени переменной равно Guru99.
  9. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  10. Если значением имени переменной является Алиса.
  11. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  12. Если значением имени переменной является Джоэл.
  13. Текст для печати на консоли, если приведенный выше случай верен/соответствует.
  14. Если ни один из приведенных выше операторов Case не соответствует действительности.
  15. Текст для печати на консоли, если указанный выше случай истинен, то есть ни один оператор Case не соответствует.
  16. Конец инструкции Select.
  17. Этот оператор выведет некоторый текст на экран независимо от того, совпал ли оператор Case или нет. Он всегда будет выполняться.
  18. Приостановить окно консоли на некоторое время, ожидая, пока пользователь не закроет его.
  19. Конец основной подпроцедуры.
  20. Конец модуля.

Функции ToLower() и ToUpper() в VB.Net

Оператор Select Case чувствителен к регистру. Это означает, что он будет рассматривать guru99 как отличный от Guru99. Тем не менее, мы можем использовать функции ToLower() и ToUpper() для решения проблемы случая с этим оператором.

Пример ToLower() и ToUpper() в VB.Net

Вот пример функций ToLower() и ToUpper() в VB.Net:

Шаг 1) Создайте новое консольное приложение.

Шаг 2) Используйте следующий код:

 Модуль Модуль1
    Подоснова()
        Console.Write("Введите ваше имя:")
        Dim name As String = Console. ReadLine()
        Выберите имя дела.ToLower()
            Дело "Джон".
                Console.WriteLine("Привет, Джон")
            Дело "гуру99".
                Console.WriteLine("Привет, Гуру99")
            Дело "Алиса".
                Console.WriteLine("Привет Алиса")
            Дело "Джоэл".
                Console.WriteLine("Привет, Джоэл")
            Дело еще
                Console.WriteLine("неизвестное имя")
        Конец выбора
        Console.WriteLine("VB.NET это просто!")
        Консоль.ReadKey()
    Конец сабвуфера
Конечный модуль
 

Шаг 3) Нажмите кнопку «Пуск» на верхней панели, чтобы запустить код. Вы должны получить следующий вывод:

Шаг 4) Введите имя Guru99 (G в верхнем регистре) и нажмите клавишу ввода на клавиатуре. Вы должны получить следующее:

Вот скриншот кода:

Пояснение кода:

Строка кода 5: Значение имени переменной будет использоваться для сравнения с различные операторы Case, чтобы найти совпадение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *