Учебники

8) VB.Net Select … Дело

Что такое отборный случай?

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

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

Из этого урока VB Net вы узнаете:

Синтаксис Select Case

Оператор Select Case имеет следующий синтаксис:

Select [ Case ] your_expression
   [ Case expression_list
      [ statement(s) ] ]
   [ Case Else
      [ else statement(s) ] ]
End Select

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

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

Примеры

Давайте использовать пример, чтобы продемонстрировать, как использовать это утверждение.

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

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

Module Module1
    Sub Main()

        Dim name As String

        name = "Guru99"

        Select Case name

            Case "John"
                Console.WriteLine("Hello John")

            Case "Guru99"
                Console.WriteLine("Hello Guru99")

            Case "Alice"
                Console.WriteLine("Hello Alice")

            Case "Joel"
                Console.WriteLine("Hello Joel")

            Case Else
                Console.WriteLine("unknown name")

        End Select
        Console.WriteLine("VB.NET is easy!")

        Console.ReadKey()

    End Sub

End Module

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

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

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

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

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

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

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

Module Module1
    Sub Main()

        Console.Write("Enter your name: ")

        Dim name As String = Console.ReadLine()

        Select Case name

            Case "John"
                Console.WriteLine("Hello John")

            Case "Guru99"
                Console.WriteLine("Hello Guru99")

            Case "Alice"
                Console.WriteLine("Hello Alice")

            Case "Joel"
                Console.WriteLine("Hello Joel")

            Case Else
                Console.WriteLine("unknown name")

        End Select
        Console.WriteLine("VB.NET is easy!")

        Console.ReadKey()

    End Sub

End Module

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

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

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

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

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

С учетом регистра: ToLower, ToUpper

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

Например:

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

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

Module Module1
    Sub Main()

        Console.Write("Enter your name: ")

        Dim name As String = Console.ReadLine()

        Select Case name.ToLower()

            Case "john." 
                Console.WriteLine("Hello John")

            Case "guru99." 
                Console.WriteLine("Hello Guru99")

            Case "alice." 
                Console.WriteLine("Hello Alice")

            Case "joel." 
                Console.WriteLine("Hello Joel")

            Case Else
                Console.WriteLine("unknown name")

        End Select
        Console.WriteLine("VB.NET is easy!")

        Console.ReadKey()

    End Sub

End Module

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

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

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

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

Строка кода 5: значение имени переменной будет использоваться для сравнения с различными инструкциями Case, чтобы найти совпадение. Функция ToLower () гарантирует, что любое имя, которое вводит пользователь, сначала будет преобразовано в строчные буквы перед оценкой операторов Case. Это означает, что если пользователь вводит Guru99, он будет немедленно преобразован в guru99, тогда оценка операторов Case завершена. Если пользователь вводит John, он будет немедленно преобразован в john, прежде чем будет выполнена оценка операторов Case.

Остальной код такой же, как и выше.

Резюме

  • Оператор Select Case, предоставляемый VB.NET, помогает вам сравнивать значение с набором значений.
  • Это подходит только в том случае, если известно, что возможные значения рассматриваемой переменной ограничены.
  • Оператор Select Case чувствителен к регистру.
  • Вы можете использовать функции ToLower () и ToUpper () для преобразования строк в нижний и верхний регистр соответственно.