C # switch utasítás (példákkal)

Ebben a cikkben megtudhatjuk a C # kapcsoló utasításait, és hogyan használhatjuk példákkal.

A Switch utasítás használható az if… else if utasítás helyettesítésére a C # -ben. Az átkapcsolás előnye, ha… ha a kód a kód, akkor sokkal tisztább és olvashatóbb lesz a kapcsolóval.

A switch utasítás szintaxisa:

 kapcsoló (változó / kifejezés) (esetérték1: // utasítások végrehajtása, ha kifejezés (vagy változó) = érték1 törés; esetérték2: // utasítások végrehajtása, ha kifejezés (vagy változó) = érték1 törés;……………… alapértelmezett: / / Végrehajtott utasítások, ha egyetlen eset sem felel meg) 

A switch utasítás kiértékeli a kifejezést (vagy változót), és összehasonlítja annak értékét az egyes esetek értékeivel (vagy kifejezésével) (érték1, érték2,…). Amikor megtalálja a megfelelő értéket, az adott eseten belüli utasítások végrehajtásra kerülnek.

De ha a fenti esetek egyike sem felel meg a kifejezésnek, akkor a defaultblokkon belüli utasítások végrehajtásra kerülnek. Az alapértelmezett utasítás a kapcsoló végén hasonló a másik blokkhoz az if else utasításban.

A kapcsoló utasítással azonban problémát jelent, hogy az egyező érték megtalálása után az összes utasítást végrehajtja utána a kapcsolóblokk végéig.

Ennek elkerülése érdekében breakminden eset végén állítást használunk . A break utasítás megszakítja a programot a nem egyező utasítások végrehajtásától a switch utasítás végrehajtásának megszüntetésével.

Ha többet szeretne megtudni a break utasításról, látogasson el a C # break utasításra.

1. példa: C # kapcsoló utasítás

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

A program futtatásakor a kimenet a következő lesz:

 Írja be az ábécét X Nem magánhangzó 

Ebben a példában a felhasználót arra kérjük, hogy írja be az ábécét. Az ábécé ToLower()metódussal konvertálódik kisbetűvé, ha nagybetűs.

Ezután a switch utasítás ellenőrzi, hogy a felhasználó által beírt ábécé valamelyik-e a, e, i, o or u.

Ha az egyik eset megegyezik, Vowelakkor kinyomtatják, ellenkező esetben a vezérlő az alapértelmezett blokkba kerül, és Not a vowelkimenetként nyomtatja.

Mivel az összes magánhangzó kimenete megegyezik, az eseteket összekapcsolhatjuk:

2. példa: C # switch Statement csoportosított esetekkel

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

Mindkét program kimenete megegyezik. A fenti programban minden magánhangzó kinyomtatja a kimenetet, Vowelés elszakad a kapcsoló utasításától.

Habár a switch utasítás miatt a kód tisztábbnak tűnik, mintha … másként, ha az utasítás, a switch korlátozott adattípusokkal működik. A C # kapcsoló utasítás csak a következőkkel működik:

  • Primitív adattípusok: bool, char és integrál típus
  • Felsorolt ​​típusok (Enum)
  • Vonós osztály
  • A fenti adattípusok nem törölhető típusai

3. példa: Egyszerű számológép-program a C # switch Statement használatával

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

A program futtatásakor a kimenet a következő lesz:

 Írja be az első számot: -13.11 Írja be a második számot: 2.41 Írja be az operátort (+, -, *, /): * -13.11 * 2.41 = -31.5951 

A fenti program két operandusot és egy operátort vesz fel a felhasználó bemeneteként, és az operátor alapján hajtja végre a műveletet.

A bemeneteket a felhasználó ReadLine()és a Read()metódus segítségével veszik . További információkért látogasson el a C # Basic Input and Output oldalra.

A program a switch case kimutatást használja a döntéshozatalhoz. Alternatív megoldásként használhatjuk az if-else if létra funkciót ugyanazon művelet végrehajtására.

érdekes cikkek...