switch (tanlash operatori) — bitta qiymatni ko’plab mumkin bo’lgan variantlar bilan solishtirishning tozaroq usuli. Uzun if-else if zanjiri o’qishni qiyinlashtirganda, switch kodni ancha tartibli qiladi. U ayniqsa aniq, sanab o’tiladigan variantlar bilan ishlashda qulay.
switch — bir ifodaning qiymatini bir necha
caseyorlig’i bilan solishtirib, mos kelganini bajaradigan tanlash operatori. Har bircaseodatdabreakbilan tugaydi.
Oddiy switch
switch berilgan qiymatni har bir case bilan solishtiradi:
using System;
int kun = 3;
switch (kun)
{
case 1:
Console.WriteLine("Dushanba");
break;
case 2:
Console.WriteLine("Seshanba");
break;
case 3:
Console.WriteLine("Chorshanba");
break;
default:
Console.WriteLine("Noma'lum kun");
break;
}
Chorshanba
kun qiymati 3 bo’lgani uchun case 3 bajarildi. default esa hech qaysi case mos kelmaganda ishlaydi. Diqqat: C#’da har bir case (default ham) break bilan tugashi majburiy.
switch matn bilan
C#’da switch matn (string) bilan ham ishlaydi:
using System;
string tanlov = "kirish";
switch (tanlov)
{
case "royxat":
Console.WriteLine("Ro'yxatdan o'tish");
break;
case "kirish":
Console.WriteLine("Tizimga kirish");
break;
default:
Console.WriteLine("Noto'g'ri tanlov");
break;
}
Tizimga kirish
Zamonaviy switch ifodasi
Zamonaviy C# switch ni yanada ixcham — ifoda shaklida yozish imkonini beradi:
using System;
int kun = 3;
string nom = kun switch
{
1 => "Dushanba",
2 => "Seshanba",
3 => "Chorshanba",
_ => "Noma'lum"
};
Console.WriteLine(nom);
Chorshanba
Bu switch ifodasi natijani to’g’ridan-to’g’ri o’zgaruvchiga qaytaradi. => — natijani, _ esa “boshqa har qanday” holatni (default) bildiradi. Bu zamonaviy va toza yozuv.
switch va if farqi
Ikkovining farqini jadvalda ko’ramiz:
| Xususiyat | switch |
if-else |
|---|---|---|
| Solishtirish | aniq tenglik | har qanday shart |
Oraliq (x > 5) |
qo’llab-quvvatlamaydi | qo’llab-quvvatlaydi |
| O’qilishi | ko’p variantda toza | murakkab shartda moslashuvchan |
Xulosa
Bu bo’limda switch operatori, case/default, break ning majburiyligi, matn bilan ishlash va zamonaviy switch ifodasini ko’rib chiqdik. Aniq variantli tanlov uchun switch — toza yechim. Keyingi darsda takrorlash operatorlari — while va do-while ga o’tamiz.