DEV Community

Elshod Ibodullayev
Elshod Ibodullayev

Posted on

C# da if, switch, for, while — eng sodda va amaliy qo'llanma

C# da if, switch, for, while — eng sodda va amaliy qo'llanma

Dastur oqimini boshqarish uchun eng ko‘p ishlatiladigan to‘rt operator: if, switch, for, while. Keling, ularni eng sodda misollar va izohlar bilan ko‘rib chiqamiz.


✅ if / else — shart bo‘yicha qaror

Qachon? Bitta yoki bir nechta shartni tekshirish kerak bo‘lsa.

int age = 20;

if (age >= 18)
{
    Console.WriteLine("Kirish mumkin");
}
else
{
    Console.WriteLine("Kirish mumkin emas");
}
Enter fullscreen mode Exit fullscreen mode

Past-past shartlar (else if)

int score = 72;

if (score >= 90) Console.WriteLine("A");
else if (score >= 80) Console.WriteLine("B");
else if (score >= 70) Console.WriteLine("C");
else Console.WriteLine("F");
Enter fullscreen mode Exit fullscreen mode

Tez xatolar

  • { } qo‘ymaslik oqibatida noto‘g‘ri blok bajarilishi mumkin.
  • Shartlarni tartibli joylashtirmaslik (>= 90 dan avval >= 70 yozish kabi).

✅ switch — qiymatga ko‘ra tanlash

Qachon? Bitta o‘zgaruvchining qiymatini bir nechta variant bilan solishtirish qulay bo‘lsa.

int day = 3;

switch (day)
{
    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;
}
Enter fullscreen mode Exit fullscreen mode

C# pattern matching (zamonaviy usul)

object input = 42;

switch (input)
{
    case int n when n > 0:
        Console.WriteLine($"Musbat butun: {n}");
        break;
    case string s when s.Length > 0:
        Console.WriteLine($"Matn: {s}");
        break;
    default:
        Console.WriteLine("Boshqa tur");
        break;
}
Enter fullscreen mode Exit fullscreen mode

Tez xatolar

  • break; ni unutib, keyingi case’ga “oqib ketish” (fall-through) — C# da default ruxsat emas, lekin goto case bilan nazoratli o‘tish mumkin.
  • default ni qo‘ymaslik (nomalum holat qolib ketadi).

✅ for — aniq marta takrorlash

Qachon? Takrorlash soni oldindan ma’lum bo‘lsa.

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"i = {i}");
}
Enter fullscreen mode Exit fullscreen mode

Ichma-ich for (nested)

for (int r = 1; r <= 3; r++)
{
    for (int c = 1; c <= 3; c++)
    {
        Console.Write($"({r},{c}) ");
    }
    Console.WriteLine();
}
Enter fullscreen mode Exit fullscreen mode

Tez xatolar

  • Cheksiz sikl: shart hech qachon false bo‘lmaydi.
  • i++ o‘rniga noto‘g‘ri yangilash (i-- yoki umuman yangilamaslik).

✅ while — shart bajarilgunga qadar takrorlash

Qachon? Necha marta takrorlanishi oldindan noma’lum, shart bilan to‘xtatiladi.

int n = 5;
while (n > 0)
{
    Console.WriteLine(n);
    n--;
}
Enter fullscreen mode Exit fullscreen mode

do/while — kamida bir marta bajarish

string input;
do
{
    Console.Write("Son kiriting (stop - to'xtash): ");
    input = Console.ReadLine();
} while (input != "stop");
Enter fullscreen mode Exit fullscreen mode

Tez xatolar

  • Shart ichidagi o‘zgaruvchini yangilamaslik → cheksiz sikl.
  • do/while da ; ni unutish.

🧪 Kichik mashqlar

1) FizzBuzz

1 dan 100 gacha: 3 ga bo‘linsa — Fizz, 5 ga — Buzz, ikkisiga — FizzBuzz, aks holda sonning o‘zi.

for (int i = 1; i <= 100; i++)
{
    if (i % 15 == 0) Console.WriteLine("FizzBuzz");
    else if (i % 3 == 0) Console.WriteLine("Fizz");
    else if (i % 5 == 0) Console.WriteLine("Buzz");
    else Console.WriteLine(i);
}
Enter fullscreen mode Exit fullscreen mode

2) Parol tekshirish (3 urinish)

while bilan 3 marta parol so‘rang, to‘g‘ri bo‘lsa kirish, aks holda bloklash xabari.

3) Menu switch bilan

switch orqali 1-Add, 2-Sub, 3-Mul, 4-Div — har biriga amal yozing, defaultda xato.


🧠 Qachon qaysi biri?

  • if — murakkab/ko‘p shartli mantiq (or/and bilan).
  • switch — bitta qiymat ko‘plab variantlarga bo‘linadi.
  • for — takrorlash soni aniq.
  • while — takrorlash soni noma’lum, shartga bog‘liq.

⚙️ Tezkor shablonlar (snippet)

if/else

if (condition)
{
    // todo
}
else
{
    // else-part
}
Enter fullscreen mode Exit fullscreen mode

switch

switch (value)
{
    case A:
        // ...
        break;
    case B:
        // ...
        break;
    default:
        // ...
        break;
}
Enter fullscreen mode Exit fullscreen mode

for

for (int i = 0; i < count; i++)
{
    // loop body
}
Enter fullscreen mode Exit fullscreen mode

while

while (condition)
{
    // loop body
    // update condition variables
}
Enter fullscreen mode Exit fullscreen mode

Savollar yoki takliflar bormi? Izohlarda yozib qoldiring! ✍️
ElshodDev GitHub Profilim
Telegram channel

Top comments (0)