Co to jest przypadek Select?
Select Case to instrukcja warunkowa, która pomaga przetestować zmienną pod kątem równości względem zestawu wartości. Każda wartość jest określana jako przypadek, a włączana zmienna powinna być sprawdzona dla wszystkich wybranych przypadków.
Instrukcja Select Case zapewnia łatwy sposób testowania zawartości zmiennej. Jednak nadaje się do użycia tylko wtedy, gdy dana zmienna ma tylko ograniczoną liczbę opcji.
W tym samouczku VB Net dowiesz się:
- Co to jest przypadek Select?
- Składnia Select Case
- Przykłady
- Rozróżniana wielkość liter: ToLower, ToUpper
Składnia Select Case
Instrukcja Select Case ma następującą składnię:
Select [ Case ] your_expression[ Case expression_list[ statement(s) ] ][ Case Else[ else statement(s) ] ]End Select
Opiszmy użyte powyżej parametry:
- your_expression: to oznacza wyrażenie, którego wynikiem jest jeden z podstawowych typów danych obsługiwanych w Microsoft VB.NET.
- expression_list: klauzule wyrażenia, które oznaczają wartości dopasowania dla wyrażenia. W przypadku wielu klauzul oddziel je przecinkiem (,).
- instrukcja (y): instrukcje, które następują po Case i są wykonywane po dopasowaniu wyrażenia selekcji do dowolnej klauzuli w lista_wyrażeń.
- Instrukcje else: instrukcje, które następują po instrukcji Case Else i są uruchamiane, gdy wyrażenie select nie pasuje do żadnej z klauzul z listy_wyrażeń dla żadnej instrukcji Case.
Przykłady
Skorzystajmy z przykładu, aby zademonstrować, jak używać tej instrukcji.
Krok 1) Najpierw utwórz nową aplikację konsolową.
Krok 2) Użyj następującego kodu:
Module Module1Sub Main()Dim name As Stringname = "Guru99"Select Case nameCase "John"Console.WriteLine("Hello John")Case "Guru99"Console.WriteLine("Hello Guru99")Case "Alice"Console.WriteLine("Hello Alice")Case "Joel"Console.WriteLine("Hello Joel")Case ElseConsole.WriteLine("unknown name")End SelectConsole.WriteLine("VB.NET is easy!")Console.ReadKey()End SubEnd Module
Krok 3) Kliknij przycisk Start na górnym pasku, aby uruchomić program. Da ci następujący wynik:
Oto zrzut ekranu kodu, którego użyliśmy:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Rozpoczęcie głównej podprocedury.
- Tworzenie zmiennej łańcuchowej o nazwie name.
- Przypisanie wartości Guru99 do nazwy zmiennej.
- Wartość nazwy zmiennej będzie używana do przeprowadzania porównań z różnymi instrukcjami Case w celu znalezienia dopasowania.
- Jeśli wartością nazwy zmiennej jest John.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli wartością nazwy zmiennej jest Guru99.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli wartością zmiennej jest Alice.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli wartością nazwy zmiennej jest Joel.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli żadne z powyższych stwierdzeń Case nie jest prawdziwe / jest dopasowane.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy, to znaczy, że żadna instrukcja Case nie jest dopasowana.
- Koniec instrukcji Select.
- Ta instrukcja spowoduje wydrukowanie tekstu na ekranie niezależnie od tego, czy instrukcja Case została dopasowana, czy nie. To zawsze się wykona.
- Zatrzymaj okno konsoli na chwilę, czekając, aż użytkownik podejmie akcję, aby je zamknąć.
- Koniec głównej podprocedury.
- Koniec modułu.
Możesz również zezwolić użytkownikowi na wpisanie nazwy, na podstawie której podejmiesz decyzję. Na przykład:
Krok 1) Utwórz nową aplikację konsolową.
Krok 2) Użyj następującego kodu:
Module Module1Sub Main()Console.Write("Enter your name: ")Dim name As String = Console.ReadLine()Select Case nameCase "John"Console.WriteLine("Hello John")Case "Guru99"Console.WriteLine("Hello Guru99")Case "Alice"Console.WriteLine("Hello Alice")Case "Joel"Console.WriteLine("Hello Joel")Case ElseConsole.WriteLine("unknown name")End SelectConsole.WriteLine("VB.NET is easy!")Console.ReadKey()End SubEnd Module
Krok 3) Kliknij przycisk Start na górnym pasku, aby go wykonać. Powinien zwrócić następujące informacje:
Krok 4) Wpisz nazwę Guru99 i naciśnij klawisz Enter. Powinieneś otrzymać:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Tworzenie modułu o nazwie Module1.
- Rozpoczęcie głównej podprocedury.
- Wydrukowanie tekstu na konsoli polecającego użytkownikowi wpisanie jego nazwy.
- Tworzenie zmiennej łańcuchowej o nazwie nazwa i monitowanie użytkownika o wprowadzenie wartości tej zmiennej na konsoli.
- Wartość nazwy zmiennej będzie używana do przeprowadzania porównań z różnymi instrukcjami Case w celu znalezienia dopasowania.
- Jeśli wartość nazwy zmiennej to John.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli wartością nazwy zmiennej jest Guru99.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli wartością zmiennej jest Alice.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli wartością nazwy zmiennej jest Joel.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy / zgodny.
- Jeśli żadne z powyższych stwierdzeń Case nie jest prawdziwe / jest dopasowane.
- Tekst do wydrukowania na konsoli, jeśli powyższy przypadek jest prawdziwy, to znaczy, że żadna instrukcja Case nie jest dopasowana.
- Koniec instrukcji Select.
- Ta instrukcja spowoduje wydrukowanie tekstu na ekranie niezależnie od tego, czy instrukcja Case została dopasowana, czy nie. To zawsze się wykona.
- Zatrzymaj okno konsoli na chwilę, czekając, aż użytkownik podejmie akcję, aby je zamknąć.
- Koniec głównej podprocedury.
- Koniec modułu.
Rozróżniana wielkość liter: ToLower, ToUpper
W instrukcji Select Case rozróżniana jest wielkość liter. Oznacza to, że będzie traktować guru99 jako różne od Guru99. Możemy jednak użyć funkcji ToLower () i ToUpper () do obsługi sprawy z tą instrukcją.
Na przykład:
Krok 1) Utwórz nową aplikację konsolową.
Krok 2) Użyj następującego kodu:
Module Module1Sub 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 ElseConsole.WriteLine("unknown name")End SelectConsole.WriteLine("VB.NET is easy!")Console.ReadKey()End SubEnd Module
Krok 3) Kliknij przycisk Start na górnym pasku, aby uruchomić kod. Powinieneś otrzymać następujące dane wyjściowe:
Krok 4) Wpisz nazwę Guru99 (G to wielkie litery) i naciśnij klawisz Enter na klawiaturze. Powinieneś otrzymać:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
Linia kodu 5: Wartość nazwy zmiennej będzie używana do wykonywania porównań z różnymi instrukcjami Case w celu znalezienia dopasowania. Funkcja ToLower () zapewni, że każda nazwa, którą typuje użytkownik, zostanie najpierw przekonwertowana na małe litery przed obliczeniem instrukcji Case. Oznacza to, że jeśli użytkownik wpisze Guru99, zostanie on natychmiast przekonwertowany na guru99, a następnie zostanie wykonana ocena instrukcji Case. Jeśli użytkownik wpisze John, zostanie on natychmiast przekonwertowany na john przed wykonaniem oceny instrukcji Case.
Reszta kodu taka sama jak powyżej.
Podsumowanie
- Instrukcja Select Case dostarczona przez VB.NET pomaga oszacować wartość w odniesieniu do zestawu wartości poprzez dopasowanie.
- Jest odpowiedni tylko wtedy, gdy wiadomo, że możliwe wartości danej zmiennej są ograniczone.
- W instrukcji Select Case rozróżniana jest wielkość liter.
- Możesz użyć funkcji ToLower () i ToUpper () do konwersji ciągów znaków odpowiednio na małe i duże litery.