Selles artiklis õpime selgitama lülitilauset C # -s ja nende kasutamist koos näidetega.
Lauselülitit saab kasutada juhul, kui lause C # asendatakse juhul, kui… Ülemineku eelis, kui … muul juhul, kui avaldus on koodid, näeb lülitiga palju puhtam ja loetavam.
Lüliti lause süntaks on:
lüliti (muutuja / avaldis) (juhtumiväärtus1: // avaldused täidetakse, kui avaldis (või muutuja) = väärtus1 puruneb; juhtumiväärtus2: // avaldused täidetakse, kui avaldis (või muutuja) = väärtus1 katkestus;……………… vaikimisi: / / Kui ükski juhtum ei vasta, täidetakse avaldused)
Lüliti lause hindab avaldist (või muutujat) ja võrdleb selle väärtust iga juhtumi (väärtus1, väärtus2,…) väärtustega. Kui see leiab sobiva väärtuse, täidetakse selle juhtumi sees olevad laused.
Kuid kui ükski ülaltoodud juhtumitest ei vasta avaldisele, default
käivitatakse plokisisesed laused . Vaikimisi lause lüliti lõpus on sarnane muu plokiga, kui muu lause.
Lüliti lause probleem on aga see, et kui leitakse vastav väärtus, täidab see kõiki selle järel olevaid väiteid kuni lüliti ploki lõpuni.
Selle vältimiseks kasutame break
iga juhtumi lõpus lauset. Break-lause peatab programmi mittevastavate lausete käivitamise, lõpetades switch-lause täitmise.
Break-avalduse kohta lisateabe saamiseks külastage C # break-avaldust.
Näide 1: C # lüliti avaldus
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; ) ) ) )
Programmi käivitamisel on väljund:
Sisestage tähestik X Mitte täishäälik
Selles näites palutakse kasutajal sisestada tähestik. Tähestik teisendatakse ToLower()
meetodi abil väiketäheks, kui see on suurtäht.
Seejärel kontrollib lüliti lause, kas kasutaja sisestatud tähestik on mõni a, e, i, o or u
.
Kui üks juhtum sobib, Vowel
trükitakse muidu juhtnupp vaikeplokki ja Not a vowel
prinditakse väljundina.
Kuna kõigi vokaalide väljund on sama, võime juhtumid liita järgmiselt:
Näide 2: C # lüliti avaldus rühmitatud juhtumitega
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; ) ) ) )
Mõlema programmi väljund on sama. Ülaltoodud programmis printivad kõik vokaalid väljundi Vowel
ja katkestavad lüliti lause.
Kuigi lüliti lause muudab koodi väljanägemise puhtamaks, kui … muul juhul, kui lause, on lüliti piiratud piiratud andmetüüpidega töötamiseks. Lüliti lause C #-s töötab ainult koos:
- Ürgandmetüübid: bool, char ja integraalne tüüp
- Loendatud tüübid (loend)
- Keelpilliklass
- Ülaltoodud andmetüüpide tühistamatud tüübid
Näide 3: lihtne kalkulaatorprogramm, kasutades 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; ) ) ) )
Programmi käivitamisel on väljund:
Sisestage esimene number: -13,11 Sisestage teine number: 2,41 Sisestage operaator (+, -, *, /): * -13,11 * 2,41 = -31,5951
Ülaltoodud programm võtab kasutaja sisendiks kaks operandi ja operaatori ning täidab operatsiooni operaatori põhjal.
Sisendid võetakse kasutajalt meetodi ReadLine()
ja Read()
abil. Lisateabe saamiseks külastage lehte C # Basic Input and Output.
Programm kasutab otsuste tegemisel lülitusjuhtumi avaldust. Alternatiivina võime sama toimingu tegemiseks kasutada redelit if-else.