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:
- For Döngüsü – Belirli bir sayıda döner.
- While Döngüsü – Koşul sağlandığı sürece döner.
- Do-While Döngüsü – En az bir kez çalışır, sonra koşulu kontrol eder.
- 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#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#1
2
4
8
16
32
64ÇıktıGeriye doğru sayma:
for (int i = 10; i >= 1; i--)
{
Console.WriteLine(i);
}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#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#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#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#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#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#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 Durumu | Kullanılacak Döngü |
|---|---|
| Belirli bir sayıda dönecekse | for |
| Koşula bağlı dönecekse | while |
| En az bir kez çalışması gerekiyorsa | do-while |
| Koleksiyonları (dizi, liste) gezmek için | foreach |