C # switch uttalande (med exempel)

I den här artikeln kommer vi att lära oss om switch-uttalande i C # och hur man använder dem med exempel.

Switch-uttalande kan användas för att ersätta if … else if-uttalandet i C #. Fördelen med att använda växla om … annars om uttalande är koder ser mycket renare och läsbar med switch.

Syntaksen för switch-uttalandet är:

 växel (variabel / uttryck) (fallvärde1: // Uttalanden exekveras om uttryck (eller variabel) = värde1 bryts; fallvärde2: // Uttalanden exekveras om uttryck (eller variabel) = värde1 bryts;… …… …… … standard: / / Uttalanden utförs om inget ärende matchar) 

Växlingsuttrycket utvärderar uttrycket (eller variabeln) och jämför dess värde med värdena (eller uttrycket) i varje fall (värde1, värde2, …). När den hittar det matchande värdet utförs uttalandena i det fallet.

Men om inget av ovanstående fall matchar uttrycket defaultkörs påståendena i blocket. Standarduttalandet i slutet av omkopplaren liknar det andra blocket i if else-uttalandet.

Emellertid är ett problem med switch-uttalandet, när matchningsvärdet hittas, kör det alla uttalanden efter det tills slutet av switch-blocket.

För att undvika detta använder vi breakuttalande i slutet av varje fall. Pausuttrycket stoppar programmet från att utföra icke-matchande uttalanden genom att avsluta körningen av switch-uttalandet.

För att lära dig mer om pausförklaring, besök C # pausförklaring.

Exempel 1: C # switch Statement

 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ör programmet blir resultatet:

 Ange ett alfabet X Inte en vokal 

I det här exemplet uppmanas användaren att ange ett alfabet. Alfabetet konverteras till gemener med hjälp av ToLower()metoden om det är i versaler.

Därefter kontrollerar switchuttrycket om det alfabet som matats in av användaren är något av a, e, i, o or u.

Om något av fodralet matchar Vowelskrivs ut annars går kontrollen till standardblock och Not a vowelskrivs ut som utdata.

Eftersom produktionen för alla vokaler är densamma, kan vi gå med i fallen som:

Exempel 2: C # switch-uttalande med grupperade ärenden

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

Utgången från båda programmen är densamma. I ovanstående program skriver alla vokaler ut Voweloch bryter från växlingsuttalandet.

Även om switch-uttalande gör att koden ser renare ut än om … annars om uttalande, är switch begränsad till att fungera med begränsade datatyper. Switch-uttalande i C # fungerar bara med:

  • Primitiva datatyper: bool, char och integral typ
  • Uppräknade typer (Enum)
  • Strängklass
  • Ogiltiga typer av ovanstående datatyper

Exempel 3: Enkelt räkneprogram med 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ör programmet blir resultatet:

 Ange första nummer: -13.11 Ange andra nummer: 2.41 Ange operatör (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Ovanstående program tar två operander och en operatör som inmatning från användaren och utför operationen baserat på operatören.

Ingångarna är tagna från användaren med hjälp av ReadLine()och Read()metod. För att lära dig mer, besök C # Basic Input and Output.

Programmet använder switch case statement för beslutsfattande. Alternativt kan vi använda if-else om stege för att utföra samma operation.

Intressanta artiklar...