C # switch paziņojums (ar piemēriem)

Šajā rakstā mēs uzzināsim par slēdzi C # un kā tos izmantot ar piemēriem.

Pārslēgšanas paziņojumu var izmantot, ja aizstāt if … else if paziņojumu C #. Pārslēgšanās priekšrocība, ja … citādi, ja paziņojums ir kodi, ar slēdzi izskatīsies daudz tīrāks un salasāmāks.

Slēdža paziņojuma sintakse ir šāda:

 slēdzis (mainīgais / izteiksme) (gadījuma vērtība1: // Izpildījumi, ja izteiksme (vai mainīgais) = vērtība1 pārtraukums; Gadījuma vērtība2: // Izpildījumi, ja izteiksme (vai mainīgais) = Vērtība1 pārtraukums;……………… noklusējums: / / Izpildījumi, ja neatbilst neviens gadījums) 

Slēdža paziņojums novērtē izteiksmi (vai mainīgo) un salīdzina tās vērtību ar katra gadījuma vērtībām (vai izteiksmi) (vērtība1, vērtība2,…). Atrodot atbilstošo vērtību, tiek izpildīti šajā lietā esošie apgalvojumi.

Bet, ja neviens no iepriekš minētajiem gadījumiem neatbilst izteicienam, defaulttiek izpildīti paziņojumi blokā. Noklusējuma paziņojums slēdža beigās ir līdzīgs citam blokam, ja citā paziņojumā.

Tomēr problēma ar slēdzi ir tā, ka, atrodot atbilstošo vērtību, tā izpilda visus paziņojumus pēc tā līdz slēdža bloka beigām.

Lai no tā izvairītos break, katra gadījuma beigās mēs izmantojam paziņojumu. Pārtraukuma paziņojums pārtrauc programmu izpildīt neatbilstošus priekšrakstus, pārtraucot slēdža pārskata izpildi.

Lai uzzinātu vairāk par pārtraukuma paziņojumu, apmeklējiet C # pārtraukuma paziņojumu.

1. piemērs: C # slēdzis

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char ch; Console.WriteLine("Enter an alphabet"); ch = Convert.ToChar(Console.ReadLine()); switch(Char.ToLower(ch)) ( case 'a': Console.WriteLine("Vowel"); break; case 'e': Console.WriteLine("Vowel"); break; case 'i': Console.WriteLine("Vowel"); break; case 'o': Console.WriteLine("Vowel"); break; case 'u': Console.WriteLine("Vowel"); break; default: Console.WriteLine("Not a vowel"); break; ) ) ) ) 

Kad mēs palaidīsim programmu, izeja būs:

 Ievadiet alfabētu X Nav patskaņs 

Šajā piemērā lietotājam tiek piedāvāts ievadīt alfabētu. Alfabēts tiek pārveidots par mazajiem burtiem, izmantojot ToLower()metodi, ja tas ir ar lielajiem burtiem.

Pēc tam slēdzis paziņojums pārbauda, ​​vai lietotāja ievadītais alfabēts ir kāds no a, e, i, o or u.

Ja viens no gadījumiem sakrīt, tas Voweltiek izdrukāts, pretējā gadījumā vadība pāriet uz noklusējuma bloku un Not a voweltiek izdrukāta kā izeja.

Tā kā visu patskaņu izeja ir vienāda, mēs varam apvienot gadījumus kā:

2. piemērs: slēdzis C # switch ar grupētiem gadījumiem

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char ch; Console.WriteLine("Enter an alphabet"); ch = Convert.ToChar(Console.ReadLine()); switch(Char.ToLower(ch)) ( case 'a': case 'e': case 'i': case 'o': case 'u': Console.WriteLine("Vowel"); break; default: Console.WriteLine("Not a vowel"); break; ) ) ) ) 

Abu programmu iznākums ir vienāds. Iepriekš minētajā programmā visi patskaņi izdrukā izeju Vowelun pārtraukumus no slēdža paziņojuma.

Lai gan slēdža paziņojums padara kodu izskatu tīrāku nekā tad, ja … citādi, ja paziņojums, slēdzis ir paredzēts darbam ar ierobežotiem datu tipiem. Pārslēgšanās paziņojums C # darbojas tikai ar:

  • Primitīvi datu tipi: bool, char un integral tips
  • Uzskaitītie veidi (Enum)
  • Stīgu klase
  • Iepriekš minēto datu tipu neatceļami veidi

3. piemērs: vienkārša kalkulatora programma, izmantojot C # switch Statement

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char op; double first, second, result; Console.Write("Enter first number: "); first = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter second number: "); second = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter operator (+, -, *, /): "); op = (char)Console.Read(); switch(op) ( case '+': result = first + second; Console.WriteLine("(0) + (1) = (2)", first, second, result); break; case '-': result = first - second; Console.WriteLine("(0) - (1) = (2)", first, second, result); break; case '*': result = first * second; Console.WriteLine("(0) * (1) = (2)", first, second, result); break; case '/': result = first / second; Console.WriteLine("(0) / (1) = (2)", first, second, result); break; default: Console.WriteLine("Invalid Operator"); break; ) ) ) ) 

Kad mēs palaidīsim programmu, izeja būs:

 Ievadiet pirmo numuru: -13,11 Ievadiet otro numuru: 2,41 Ievadiet operatoru (+, -, *, /): * -13,11 * 2,41 = -31,5951 

Iepriekš minētā programma ņem divus operandus un operatoru kā lietotāja ievadi un veic darbību, pamatojoties uz operatoru.

Šīs izejvielas ir ņemti no lietotāja, izmantojot ReadLine()un Read()metodi. Lai uzzinātu vairāk, apmeklējiet vietni C # Basic Input and Output.

Programma lēmumu pieņemšanai izmanto pārslēgšanas gadījuma paziņojumu. Alternatīvi, mēs varam izmantot if-else if kāpnes, lai veiktu to pašu darbību.

Interesanti raksti...