Čo je to vybraný prípad?
Select Case je podmienené vyhlásenie, ktoré vám pomôže testovať rovnosť premennej voči množine hodnôt. Každá hodnota sa označuje ako prípad a premenná, ktorá sa zapína, by sa mala skontrolovať pre všetky vybrané prípady.
Príkaz Select Case poskytuje ľahký spôsob testovania obsahu premennej. Je však vhodný na použitie, iba ak má príslušná premenná iba obmedzený počet možností.
V tomto výučbe VB Net sa dozviete:
- Čo je to vybraný prípad?
- Syntax vybraného prípadu
- Príklady
- Rozlišujú sa malé a veľké písmená: ToLower, ToUpper
Syntax vybraného prípadu
Príkaz Select Case má nasledujúcu syntax:
Select [ Case ] your_expression[ Case expression_list[ statement(s) ] ][ Case Else[ else statement(s) ] ]End Select
Popíšeme vyššie použité parametre:
- your_expression: toto označuje výraz, ktorý sa hodnotí na jeden zo základných dátových typov podporovaných v Microsoft VB.NET.
- výraz_zoznam: klauzuly výrazu, ktoré označujú zhodné hodnoty výrazu. V prípade viacerých viet ich oddeľte čiarkou (,).
- statement (s): vyhlásenia, ktoré nasledujú po prípade Case a vykonajú sa po zhode výrazu select s ľubovoľnou klauzulou v zozname expression_list.
- Príkazy else: príkazy, ktoré nasledujú po Case Else a spustia sa, keď sa výrazu select nezhoduje žiadna z klauzúl v zozname expression_list pre akýkoľvek príkaz Case.
Príklady
Ukážme si na príklade, ako používať toto tvrdenie.
Krok 1) Najskôr vytvorte novú konzolovú aplikáciu.
Krok 2) Použite nasledujúci kód:
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) Kliknutím na tlačidlo Štart na hornom paneli program spustíte. Získate nasledujúci výsledok:
Tu je snímka obrazovky s kódom, ktorý sme použili:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Začiatok hlavného čiastkového postupu.
- Vytvára sa premenná reťazca s názvom name.
- Priradenie hodnoty Guru99 k názvu premennej.
- Hodnota názvu premennej sa použije na vykonanie porovnania s rôznymi príkazmi Case na nájdenie zhody.
- Ak je hodnota názvu premennej John.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak je hodnota názvu premennej Guru99.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak je hodnota názvu premennej Alice.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak je hodnota názvu premennej Joel.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak žiadny z vyššie uvedených prípadov nie je pravdivý / nezhoduje sa.
- Text, ktorý sa má vytlačiť na konzolu, ak je vyššie uvedený prípad pravdivý, to znamená, že sa nezhoduje žiadne vyhlásenie prípadu.
- Koniec príkazu Select.
- Toto vyhlásenie vytlačí na obrazovku nejaký text bez ohľadu na to, či bol príkaz Case zhodný alebo nie. Vždy sa vykoná.
- Na chvíľu pozastavte okno konzoly a počkajte, kým používateľ uzavrie akciu.
- Koniec hlavného čiastkového postupu.
- Koniec modulu.
Môžete tiež povoliť používateľovi zadať meno, na základe ktorého sa rozhodnete. Napríklad:
Krok 1) Vytvorte novú konzolovú aplikáciu.
Krok 2) Použite nasledujúci kód:
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) Kliknite na tlačidlo Štart na hornom paneli a spustite ho. Mal by vrátiť nasledujúce:
Krok 4) Zadajte meno Guru99 a stlačte kláves Enter. Mali by ste dostať nasledujúce:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Vytvorenie modulu s názvom Module1.
- Začiatok hlavného čiastkového postupu.
- Vytlačenie textu na konzole, ktorý používateľovi zadá meno.
- Vytvorenie reťazcovej premennej s názvom name a výzva používateľovi na zadanie hodnoty tejto premennej na konzole.
- Hodnota názvu premennej sa použije na vykonanie porovnania s rôznymi príkazmi Case na nájdenie zhody.
- Ak je hodnota názvu premennej John.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak je hodnota názvu premennej Guru99.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak je hodnota názvu premennej Alice.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak je hodnota názvu premennej Joel.
- Text na tlač na konzole, ak je vyššie uvedený prípad pravdivý / zhodný.
- Ak žiadny z vyššie uvedených prípadov nie je pravdivý / nezhoduje sa.
- Text, ktorý sa má vytlačiť na konzolu, ak je vyššie uvedený prípad pravdivý, to znamená, že sa nezhoduje žiadne vyhlásenie prípadu.
- Koniec príkazu Select.
- Toto vyhlásenie vytlačí na obrazovku nejaký text bez ohľadu na to, či bol príkaz Case zhodný alebo nie. Vždy sa vykoná.
- Na chvíľu pozastavte okno konzoly a počkajte, kým používateľ uzavrie akciu.
- Koniec hlavného čiastkového postupu.
- Koniec modulu.
Rozlišujú sa malé a veľké písmená: ToLower, ToUpper
Vo vyhlásení Select Case sa rozlišujú veľké a malé písmená. To znamená, že s guru99 bude zaobchádzať odlišne od Guru99. Na riešenie problému s týmto tvrdením však môžeme použiť funkcie ToLower () a ToUpper ().
Napríklad:
Krok 1) Vytvorte novú konzolovú aplikáciu.
Krok 2) Použite nasledujúci kód:
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) Kliknutím na tlačidlo Štart na hornom paneli spustíte kód. Mali by ste dostať nasledujúci výstup:
Krok 4) Zadajte názov Guru99 (G je veľké) a stlačte kláves Enter na klávesnici. Mali by ste dostať nasledujúce:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
Riadok kódu 5: Hodnota názvu premennej sa použije na vykonanie porovnania s rôznymi príkazmi Case na nájdenie zhody. Funkcia ToLower () zabezpečí, aby sa akékoľvek meno, ktoré užívateľ zadá, pred vyhodnotením príkazov Case najskôr konvertovalo na malé písmená. To znamená, že ak užívateľ napíše Guru99, okamžite sa prevedie na guru99, potom sa vykoná vyhodnotenie príkazov Case. Ak používateľ zadá John, bude okamžite prevedený na jana pred vykonaním vyhodnotenia príkazov Case.
Zvyšok kódu rovnaký ako vyššie.
Zhrnutie
- Príkaz Select Case poskytnutý VB.NET vám pomôže vyhodnotiť hodnotu oproti množine hodnôt prostredníctvom zhody.
- Je vhodný, iba ak je známe, že sú možné hodnoty príslušnej premennej obmedzené.
- Vo vyhlásení Select Case sa rozlišujú veľké a malé písmená.
- Na prevod reťazcov na malé a veľké písmená môžete použiť funkcie ToLower () a ToUpper ().