C# SWITCH
1 Switch operatori nima?
C# dasturlash tilida switch
operatori o‘zgaruvchini yoki ifodani bir nechta qiymatlar bilan solishtirish va mos kelgan holatda tegishli kodni bajarish uchun ishlatiladi. Bu operator bir nechta if-else
bloklarini yozishga nisbatan qulay va o‘qiluvchanroq bo‘lib, kodni toza saqlashga yordam beradi.
switch
odatda quyidagi holatlarda ishlatiladi:
O‘zgaruvchi bir nechta aniq qiymatlardan biriga teng bo‘lishi kerak bo‘lganda.
Kodni o‘qish va boshqarishni soddalashtirish uchun.
2 Switch operatorining sintaksisi
Quyida switch
operatorining umumiy tuzilishi keltirilgan:
Sintaksisning asosiy elementlari:
expression
: Bu tekshiriladigan qiymat yoki o‘zgaruvchi bo‘lib, u har bircase
bilan solishtiriladi.case
: Har bir qiymatni aniqlaydigan bo‘lak. Agarexpression
ushbu qiymatga teng bo‘lsa, shu bo‘lakdagi kod ishlaydi.break
: Bu operator ishlov berishni to‘xtatib,switch
blokidan tashqariga chiqadi.default
: Barchacase
lar mos kelmasa, shu kod bajariladi. Bu qism ixtiyoriy, lekin tavsiya etiladi.
3 Oddiy misol
Keling, haftaning kunlarini aniqlash uchun switch
operatoridan foydalanamiz:
Ishlash mexanizmi:
O‘zgaruvchi
kun
3 ga teng bo‘lgani uchuncase 3
bajariladi.Konsolga
"Chorshanba"
chiqadi.break
esa qolgancase
larni bajarilmasligiga olib keladi.
Natija: Chorshanba
4 Bir nechta holatlarni birlashtirish
Ba’zan bir xil kod bir nechta qiymatlar uchun ishlatiladi. Bu holatda quyidagi usuldan foydalanish mumkin:
Tushuntirish:
Agar
baho
qiymatiA
,B
yokiC
bo‘lsa, bir xil kod ishlaydi:"Imtihondan o‘tdingiz"
.Agar
baho
D
yokiF
bo‘lsa,"Imtihondan yiqildingiz"
chiqadi.
Natija: Imtihondan o‘tdingiz
5 Default blokining roli
default
blok barcha case
lar mos kelmasa ishlaydi. Bu dasturiy xatolarni oldini olish uchun muhimdir.
Natija: Noto‘g‘ri oy
6 Kalkulyator misoli
Foydalanuvchi kiritgan sonlar va amalni ishlatib natijani chiqaradigan kalkulyatorni yaratamiz:
Tushuntirish:
Foydalanuvchi ikkita son va amalni kiritadi.
switch
operatori qaysi amalni bajarish kerakligini aniqlaydi.Mos kelgan holatda tegishli natija hisoblanib chiqariladi.
7 Switch operatorining cheklovlari
switch
operatori faqat quyidagi turdagi qiymatlar bilan ishlaydi:
int
,char
,string
,enum
Float, double yoki decimal bilan ishlatilmaydi, chunki bu turdagi qiymatlar aniqlikning yo‘qolishi xavfini tug‘diradi.
Agar shartlar x > 10
kabi murakkab bo‘lsa, if-else
dan foydalanish tavsiya etiladi.
8 Pattern Matching bilan Switch (C# 8.0 va yuqorida)
C# 8.0 dan boshlab switch
operatoriga pattern matching
imkoniyatlari qo‘shildi, bu esa murakkabroq shartlarni tekshirishga yordam beradi.
Tushuntirish:
int i when i > 40
orqali qiymatning kattaligini aniqlash mumkin.Agar qiymat matn bo‘lsa, uning uzunligi chiqariladi.
switch
operatori:
Oddiy qiymatlarni tekshirish uchun juda qulay.
Kodni tartibli va o‘qilishi oson holatga keltiradi.
Katta miqdordagi shartlarni boshqarishda samarali ishlaydi.
Last updated