C # jungiklio teiginys (su pavyzdžiais)

Šiame straipsnyje sužinosime apie jungiklio teiginį C # ir kaip juos naudoti su pavyzdžiais.

„Switch“ sakinį galima naudoti pakeičiant if… else if teiginį C #. Privalumas naudoti perjungimo funkciją, jei … kitaip, jei sakiniai yra kodai, atrodys daug švaresnis ir įskaitomas jungikliu.

Jungiklio sakinio sintaksė yra tokia:

 jungiklis (kintamasis / išraiška) (atvejo reikšmė1: // Pareiškimai vykdomi, jei išraiška (arba kintamasis) = reikšmė1 pertrauka; atvejo vertė2: // Teiginiai, įvykdyti, jei išraiška (arba kintamasis) = reikšmė1 pertrauka;… / Ataskaitos vykdomos, jei nesutampa nė viena byla) 

„Switch“ sakinys įvertina išraišką (arba kintamąjį) ir palygina jos vertę su kiekvieno atvejo vertėmis (arba išraiška) (reikšmė1, vertė2,…). Suradus atitinkančią vertę, vykdomi toje byloje esantys teiginiai.

Bet, jei nė vienas iš aukščiau nurodytų atvejų neatitinka išraiškos, sakiniai, esantys defaultbloke, vykdomi. Numatytasis sakinys jungiklio pabaigoje yra panašus į kitą bloką, jei sakinys yra if else.

Tačiau jungiklio teiginio problema yra ta, kad kai randama atitikimo reikšmė, ji vykdo visus sakinius po jo iki jungiklio bloko pabaigos.

Norėdami to išvengti break, kiekvieno atvejo pabaigoje naudojame teiginį. Nutraukimo sakinys sustabdo programos vykdymą neatitinkančiais teiginiais, nutraukdamas jungiklio teiginio vykdymą.

Norėdami sužinoti daugiau apie lūžio ataskaitą, apsilankykite C # lūžio pareiškime.

1 pavyzdys: C # jungiklio teiginys

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

Kai vykdysime programą, išvestis bus:

 Įveskite abėcėlę X Ne balsį 

Šiame pavyzdyje vartotojas raginamas įvesti abėcėlę. Abėcėlė paverčiama mažosiomis pagal ToLower()metodą, jei ji yra didžiosios.

Tada jungiklio sakinys patikrina, ar vartotojo įvesta abėcėlė nėra a, e, i, o or u.

Jei vienas iš atvejų sutampa, Vowelatspausdinamas kitaip, valdiklis pereina į numatytąjį bloką ir Not a vowelspausdinamas kaip išvestis.

Kadangi visų balsių išvestis yra tokia pati, galime sujungti atvejus kaip:

2 pavyzdys: C # jungiklio teiginys su sugrupuotais atvejais

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

Abiejų programų išvestis yra ta pati. Pirmiau pateiktoje programoje visi balsiai spausdina išvestį Vowelir pertraukas nuo jungiklio teiginio.

Nors jungiklio teiginys daro kodą švaresnį nei jei… kitaip, jei sakinys, jungiklis gali dirbti tik su ribotais duomenų tipais. C # jungiklio teiginys veikia tik su:

  • Pirminiai duomenų tipai: „Bool“, „char“ ir „integral“ tipas
  • Išvardyti tipai (Enum)
  • Styginių klasė
  • Neištrinami anksčiau nurodytų duomenų tipų tipai

3 pavyzdys: Paprasta skaičiuoklės programa, naudojant C # jungiklio teiginį

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

Kai vykdysime programą, išvestis bus:

 Įveskite pirmąjį numerį: -13,11 Įveskite antrąjį numerį: 2,41 Įveskite operatorių (+, -, *, /): * -13,11 * 2,41 = -31,5951 

Pirmiau nurodyta programa naudoja du operandus ir operatorių kaip vartotojo įvestį ir atlieka operaciją remdamasi operatoriumi.

Įėjimai yra paimti iš naudotojas, paspausdamas ReadLine()ir Read()metodą. Norėdami sužinoti daugiau, apsilankykite C # pagrindiniame įvestyje ir išvestyje.

Programa sprendimų priėmimui naudoja „switch case“ pareiškimą. Arba mes galime naudoti if-else if trapą tai pačiai operacijai atlikti.

Įdomios straipsniai...