C # switch Erklæring (med eksempler)

I denne artikel lærer vi om switch-erklæring i C #, og hvordan man bruger dem med eksempler.

Switch-sætning kan bruges til at erstatte if … else if-sætningen i C #. Fordelen ved at bruge skifte, hvis … ellers, hvis udsagnet er koderne, ser meget renere og læsbar ud med kontakten.

Syntaksen for switch-sætningen er:

 switch (variabel / udtryk) (sagsværdi1: // Udsagn udføres, hvis udtryk (eller variabel) = værdi1 bryder; sagsværdi2: // Udsagn, der udføres, hvis udtryk (eller variabel) = værdi1 bryder;……………… standard: / / Erklæringer udført, hvis ingen sager stemmer overens) 

Switch-sætningen evaluerer udtrykket (eller variablen) og sammenligner dets værdi med værdierne (eller udtrykket) i hvert tilfælde (værdi1, værdi2,…). Når den finder den matchende værdi, udføres udsagnene i denne sag.

Men hvis ingen af ​​ovenstående tilfælde matcher udtrykket, defaultudføres udsagnene i blokken. Standarderklæringen i slutningen af ​​kontakten svarer til den anden blok i if else-sætningen.

Imidlertid er et problem med switch-sætningen, når den matchende værdi findes, udfører den alle udsagn efter den indtil slutningen af ​​switch-blokken.

For at undgå dette bruger vi breakudsagn i slutningen af ​​hver sag. Bruderklæringen stopper programmet i at udføre ikke-matchende udsagn ved at afslutte udførelsen af ​​switch-sætningen.

Hvis du vil vide mere om bruderklæring, skal du besøge C # bruderklæring.

Eksempel 1: C # switch Erklæring

 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 kører programmet, vil output være:

 Indtast et alfabet X Ikke en vokal 

I dette eksempel bliver brugeren bedt om at indtaste et alfabet. Alfabetet konverteres til små bogstaver ved hjælp af ToLower()metoden, hvis det er med store bogstaver.

Derefter kontrollerer switch-erklæringen, om det alfabet, der er indtastet af brugeren, er noget af a, e, i, o or u.

Hvis en af ​​sagen stemmer overens, Voweludskrives kontrollen ellers går standardblokken og Not a voweludskrives som output.

Da output for alle vokaler er de samme, kan vi deltage i sagerne som:

Eksempel 2: C # switch Erklæring med grupperede sager

 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; ) ) ) ) 

Output fra begge programmer er ens. I ovenstående program udskriver alle vokaler output Vowelog bryder fra switch-erklæringen.

Selvom switch-sætning får koden til at se renere ud end hvis … ellers hvis statement, er switch begrænset til at arbejde med begrænsede datatyper. Switch-sætning i C # fungerer kun med:

  • Primitive datatyper: bool, char og integreret type
  • Opregnede typer (Enum)
  • Strengklasse
  • Udeladelige typer af ovenstående datatyper

Eksempel 3: Simpel regnemaskine ved hjælp af 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 kører programmet, vil output være:

 Indtast første nummer: -13.11 Indtast andet nummer: 2.41 Indtast operator (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Ovenstående program tager to operander og en operatør som input fra brugeren og udfører operationen baseret på operatøren.

Indgangene er taget fra brugeren ved hjælp af ReadLine()og Read()fremgangsmåden. For at lære mere, besøg C # Grundlæggende input og output.

Programmet bruger switch case-erklæring til beslutningstagning. Alternativt kan vi bruge if-else hvis stige til at udføre den samme operation.

Interessante artikler...