Izjava o prekidaču C # (s primjerima)

U ovom ćemo članku naučiti o naredbi switch u C # i kako ih koristiti s primjerima.

Izraz Switch može se koristiti za zamjenu izraza if … else if u C #. Prednost korištenja switch over if … inače ako je naredba kodovi izgledat će mnogo čišće i čitljivije s switchom.

Sintaksa naredbe switch je:

 prekidač (varijabla / izraz) (case value1: // Izvodi se ako je izraz (ili varijabla) = value1 break; case value2: // Izvodi se ako je izraz (ili varijabla) = value1 break;……………… default: / / Izvodi izvršeni ako se nijedan slučaj ne podudara) 

Izraz switch preispituje izraz (ili varijablu) i uspoređuje njegovu vrijednost sa vrijednostima (ili izrazima) svakog slučaja (value1, value2, …). Kad pronađe odgovarajuću vrijednost, izvršavaju se izrazi unutar tog slučaja.

Ali, ako se niti jedan od gore navedenih slučajeva ne podudara s izrazom, defaultizvršavaju se izrazi unutar bloka. Zadani izraz na kraju prekidača sličan je bloku else u naredbi if else.

Međutim, problem s naredbom preklopnika je, kada se pronađe odgovarajuća vrijednost, on izvršava sve izraze nakon nje do kraja preklopnog bloka.

Da bismo to izbjegli, koristimo breakizjavu na kraju svakog slučaja. Izraz break zaustavlja program da izvršava nepodudarajuće izraze prekidanjem izvršavanja naredbe switch.

Da biste saznali više o izjavi prekida, posjetite C # izjavu prekida.

Primjer 1: Izjava prekidača C #

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

Kada pokrenemo program, izlaz će biti:

 Unesite abecedu X Ne samoglasnik 

U ovom primjeru od korisnika se traži da unese abecedu. Abeceda se pretvara u mala slova uporabom ToLower()metode ako je velika.

Zatim, naredba switch provjerava je li abeceda koju je korisnik unio a, e, i, o or u.

Ako se jedan od slučajeva podudara, Vowelispisuje se u suprotnom, kontrola ide u zadani blok i Not a vowelispisuje se kao izlaz.

Budući da su izlazi za sve samoglasnike jednaki, možemo pridružiti slučajeve kao:

Primjer 2: Izjava prekidača C # s grupiranim slučajevima

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

Izlaz oba programa je isti. U gore navedenom programu, svi samoglasnici ispisuju izlaz Voweli prelome iz naredbe switch.

Iako naredba switch čini kôd izglednijim čišćim nego ako je… inače if naredba, switch je ograničen na rad s ograničenim vrstama podataka. Izjava o prebacivanju u C # radi samo sa:

  • Primitivni tipovi podataka: bool, char i integralni tip
  • Nabrojani tipovi (Enum)
  • Gudački razred
  • Tipovi gore navedenih podataka koji se mogu poništiti

Primjer 3: Jednostavni program za izračunavanje pomoću Izjave prekidača C #

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

Kada pokrenemo program, izlaz će biti:

 Unesite prvi broj: -13.11 Unesite drugi broj: 2.41 Unesite operator (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Gornji program uzima dva operanda i operatora kao ulaz od korisnika i izvodi operaciju na temelju operatora.

Ulazi se uzimaju od korisnika koji koristi tu ReadLine()i Read()metode. Da biste saznali više, posjetite C # Osnovni ulaz i izlaz.

Program koristi izjavu slučaja prekidača za donošenje odluka. Alternativno, možemo koristiti if-else if ljestve za izvođenje iste operacije.

Zanimljivi članci...