I denne artikkelen vil vi lære om bryteruttalelse i C # og hvordan du bruker dem med eksempler.
Switch statement kan brukes til å erstatte if … else if setningen i C #. Fordelen med å bruke bytt om hvis ellers hvis uttalelsen er kodene, vil se mye renere og leselig ut med bryteren.
Syntaksen for bryteruttalelsen er:
bryter (variabel / uttrykk) (saksverdi1: // Uttalelser utført hvis uttrykk (eller variabel) = verdi1 brudd; saksverdi2: // Uttalelser utført hvis uttrykk (eller variabel) = verdi1 bryter;……………… standard: / / Uttalelser utført hvis ingen tilfeller stemmer overens)
Bryteruttalelsen evaluerer uttrykket (eller variabelen) og sammenlign verdien med verdiene (eller uttrykket) i hvert tilfelle (verdi1, verdi2, …). Når den finner den samsvarende verdien, blir utsagnene i saken utført.
Men hvis ingen av tilfellene ovenfor samsvarer med uttrykket, blir utsagnene i default
blokken utført. Standarderklæringen på slutten av bryteren ligner på den andre blokken i if else-setningen.
Et problem med bryteruttalelsen er imidlertid at når den samsvarende verdien blir funnet, utfører den alle utsagnene etter den til slutten av bryterblokken.
For å unngå dette bruker vi break
uttalelse på slutten av hvert tilfelle. Bruddutsagnet stopper programmet fra å utføre ikke-samsvarende uttalelser ved å avslutte utførelsen av bytteerklæring.
Hvis du vil lære mer om pauseerklæring, kan du gå til C # break statement.
Eksempel 1: Uttalelse om C #-bryter
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; ) ) ) )
Når vi kjører programmet, vil utdataene være:
Skriv inn et alfabet X Ikke en vokal
I dette eksemplet blir brukeren bedt om å skrive inn et alfabet. Alfabetet konverteres til små bokstaver ved å bruke ToLower()
metoden hvis det er med store bokstaver.
Deretter sjekker bryteruttalelsen om alfabetet som er angitt av brukeren, er noe av a, e, i, o or u
.
Hvis en av saken stemmer overens, Vowel
blir den skrevet ut ellers går kontrollen til standardblokk og Not a vowel
skrives ut som utdata.
Siden utgangen for alle vokaler er den samme, kan vi bli med i sakene som:
Eksempel 2: C # switch Erklæring med grupperte saker
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; ) ) ) )
Produksjonen fra begge programmene er den samme. I det ovennevnte programmet skriver alle vokaler ut utdata Vowel
og bryter fra bryteruttalelsen.
Selv om bryteruttalelse får koden til å se renere ut enn om … annet hvis uttalelse, er bryter begrenset til å fungere med begrensede datatyper. Bytte uttalelse i C # fungerer bare med:
- Primitive datatyper: bool, char og integral type
- Oppregnede typer (Enum)
- Strengklasse
- Ugyldige typer ovennevnte datatyper
Eksempel 3: Enkelt kalkulatorprogram ved bruk av 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; ) ) ) )
Når vi kjører programmet, vil utdataene være:
Skriv inn første nummer: -13.11 Skriv inn andre nummer: 2.41 Skriv inn operator (+, -, *, /): * -13.11 * 2.41 = -31.5951
Ovennevnte program tar to operander og en operatør som input fra brukeren og utfører operasjonen basert på operatøren.
Inngangene er tatt fra brukeren ved hjelp av ReadLine()
og Read()
metode. For å lære mer, besøk C # Basic Input and Output.
Programmet bruker switch case statement for beslutningstaking. Alternativt kan vi bruke if-else hvis stige for å utføre den samme operasjonen.