Döngüler

Döngüler, belirli bir koşul sağlandığı sürece tekrarlı işlemler gerçekleştirmek için kullanılır. C#’ta dört temel döngü yapısı vardır:

  1. For Döngüsü – Belirli bir sayıda döner.
  2. While Döngüsü – Koşul sağlandığı sürece döner.
  3. Do-While Döngüsü – En az bir kez çalışır, sonra koşulu kontrol eder.
  4. Foreach Döngüsü – Koleksiyon (dizi, liste) elemanlarını tek tek işler.

1. For Döngüsü

Belirli bir sayıda tekrar edilmesi gereken durumlarda kullanılır.

1. For Döngüsü

//Genel Yapısı:
for (başlangıç; koşul; artış/azalış)
{
    // Döngü bloğu
}
C#
//Örnek: 1’den 10’a kadar sayıları yazdırma
for (int i = 1; i <= 10; i++)
{
    Console.WriteLine(i);
}
C#
C#
1
2
3
4
5
6
7
8
9
10
Çıktı

1.1. For Döngüsünde Artış ve Azalış

İkiye katlayarak ilerleme:

for (int i = 1; i <= 100; i *= 2)
{
    Console.WriteLine(i);
}
C#
C#
1
2
4
8
16
32
64
Çıktı

Geriye doğru sayma:

for (int i = 10; i >= 1; i--)
{
    Console.WriteLine(i);
}
C#
C#
10
9
8
7
6
5
4
3
2
1
Çıktı

2. While Döngüsü

while, koşul sağlandığı sürece dönen bir yapıdır.

while (koşul)
{
    // Döngü bloğu
}
C#

Örnek: 1’den 5’e kadar sayıları yazdırma

int i = 1;
while (i <= 5)
{
    Console.WriteLine(i);
    i++;
}
C#
C#
1
2
3
4
5
Çıktı

Not: Eğer döngü değişkeni (i++) artırılmazsa, döngü sonsuz döngüye girer.

2.1. While ile Kullanıcıdan Veri Alma

Kullanıcıdan sürekli veri almak için while döngüsü kullanılabilir.

string giris = "";

while (giris != "exit")
{
    Console.Write("Bir şey yazın (exit ile çıkış): ");
    giris = Console.ReadLine();
    Console.WriteLine("Girdiğiniz: " + giris);
}
C#
C#
Bir şey yazın (exit ile çıkış): Merhaba
Girdiğiniz: Merhaba
Bir şey yazın (exit ile çıkış): Test
Girdiğiniz: Test
Bir şey yazın (exit ile çıkış): exit
Girdiğiniz: exit
Çıktı

3. Do-While Döngüsü

do-while, önce bir kez çalıştırılır, sonra koşula göre devam eder.

do
{
    // Döngü bloğu
}
while (koşul);
C#

Örnek: Kullanıcıdan en az bir kez giriş alıp çıkış yapmak

int sayi;

do
{
    Console.Write("Pozitif bir sayı girin: ");
    sayi = Convert.ToInt32(Console.ReadLine());
}
while (sayi <= 0);

Console.WriteLine("Geçerli sayı: " + sayi);
C#

Fark: while döngüsünde koşul başta kontrol edilir, do-while döngüsünde önce bir kez çalışır, sonra koşulu kontrol eder.

4. Foreach Döngüsü

foreach, koleksiyonların (array, List<T>, Dictionary<T>, vb.) elemanlarını tek tek işlemek için kullanılır.

foreach (var eleman in koleksiyon)
{
    // Eleman üzerinde işlem yap
}
C#

Örnek: Dizi Elemanlarını Yazdırma

string[] isimler = { "Ali", "Veli", "Ayşe", "Fatma" };

foreach (string isim in isimler)
{
    Console.WriteLine(isim);
}
C#
C#
Ali
Veli
Ayşe
Fatma
Çıktı

4.1. Foreach ile Liste Kullanımı

List<int> sayilar = new List<int> { 10, 20, 30, 40 };

foreach (int s in sayilar)
{
    Console.WriteLine(s);
}
C#
C#
10
20
30
40
Çıktı

Not: foreach döngüsüyle koleksiyon elemanlarını değiştiremeyiz. Eğer elemanları değiştirmek istiyorsak for döngüsü kullanılmalıdır.

5. break ve continue

Bazı durumlarda döngüyü erken sonlandırmak (break) veya belirli bir işlemi atlayıp devam etmek (continue) gerekebilir.

5.1. break Kullanımı

Bir koşul gerçekleştiğinde döngüyü durdurur.

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // Döngü 5’e geldiğinde sonlanır
    }
    Console.WriteLine(i);
}
C#
C#
1
2
3
4
Çıktı

5.2. continue Kullanımı

Belirli bir koşulda mevcut yinelemeyi atlar, ancak döngü çalışmaya devam eder.

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // 3’ü atlar, diğerlerine devam eder
    }
    Console.WriteLine(i);
}
C#
C#
1
2
4
5
Çıktı

6. Sonsuz Döngüler

Eğer bir döngü hiçbir zaman sona ermeyen bir koşula sahipse, sonsuz döngü olur.

while (true)
{
    Console.WriteLine("Bu döngü sonsuz döngüdür.");
}
C#

Not: Sonsuz döngüler break veya return ile sonlandırılmalıdır.

7. Döngü Seçimi

Kullanım DurumuKullanılacak Döngü
Belirli bir sayıda döneceksefor
Koşula bağlı döneceksewhile
En az bir kez çalışması gerekiyorsado-while
Koleksiyonları (dizi, liste) gezmek içinforeach