Döngüler (Loops): for, while, do-while ve foreach Kullanımı

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

C# Döngüler Rehberi: for, while, do-while ve foreach Arasındaki Farklar​


Kod yazarken belirli bir işlemi birden fazla kez yapmanız gerekiyorsa (örneğin 100 kişiye mail atmak veya bir listedeki tüm ürünleri ekrana yazdırmak), bunu tek tek yazmak yerine döngüleri kullanırız. Döngüler, yazılımcının hamalıdır.



1. For Döngüsü: Sayısı Belli Olan İşlemler​


Eğer bir işlemin kaç kez tekrarlanacağını en baştan biliyorsanız, for döngüsü en iyi tercihtir. Kontrol tamamen sizdedir; başlangıç, bitiş ve artış miktarını tek satırda belirlersiniz.

C#:
// format: for(başlangıç; koşul; artış)
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Bu döngü {i}. kez dönüyor.");
}


  • []Kullanım Alanı: Belirli bir sayı aralığında işlem yapmak.
    []Avantajı: Okunabilirliği yüksektir, tüm kontrol parametreleri bir aradadır.



2. While Döngüsü: Koşul Sağlandığı Sürece​


while döngüsünde kaç kez döneceğimizden ziyade, bir koşulun doğruluğu önemlidir. Koşul true olduğu sürece döngü çalışmaya devam eder.

C#:
int enerji = 3;
while (enerji > 0)
{
Console.WriteLine("Çalışmaya devam ediyoruz...");
enerji--; // Bu satırı unutursanız "Sonsuz Döngü"ye girersiniz!
}


  • []Kullanım Alanı: Kullanıcı doğru şifreyi girene kadar, veya bir dosyadan veri okuma bitene kadar çalışmak.
    []Risk: Koşul hiçbir zaman false olmazsa uygulama kilitlenir.



3. Do-While Döngüsü: En Az Bir Kez Çalıştır!​


while döngüsünden tek bir farkı vardır: Koşulu döngünün başında değil, sonunda kontrol eder. Bu da döngü gövdesinin, koşul yanlış olsa bile en az bir kez çalışmasını sağlar.

C#:
int denemeSayisi = 0;
do
{
Console.WriteLine("Sistem kontrol ediliyor...");
denemeSayisi++;
} while (denemeSayisi < 0); // Koşul yanlış ama ekrana bir kez yazı yazılır.

  • Kullanım Alanı: Kullanıcıya menüyü en az bir kez göstermek istediğiniz durumlar.



4. Foreach Döngüsü: Koleksiyonların Efendisi​


Diziler (arrays) veya listeler gibi koleksiyonlarla çalışırken kullanılan en modern ve güvenli döngüdür. İndislerle (i++ gibi) uğraşmanıza gerek kalmadan listenin başından sonuna kadar her elemana sırayla erişir.

C#:
string[] meyveler = { "Elma", "Armut", "Muz" };

foreach (string meyve in meyveler)
{
Console.WriteLine($"Meyve: {meyve}");
}


  • []Kullanım Alanı: Listeler, diziler ve veritabanı sonuçları üzerinde gezinmek.
    []Kısıtlama: foreach içinde gezindiğiniz listenin elemanlarını değiştiremezsiniz (sadece okuma amaçlıdır).



Döngü Kontrol Anahtarları: Break ve Continue​


Döngünün normal akışını bozmak istediğimizde iki sihirli kelimemiz var:


  • []break: Döngüyü o an tamamen bitirir ve döngüden çıkar.
    []continue: Döngünün o anki turunu atlar ve bir sonraki turdan devam eder.

C#:
for (int i = 1; i <= 10; i++)
{
if (i == 3) continue; // 3'ü atlar
if (i == 7) break;    // 7'ye gelince döngüyü bitirir
Console.WriteLine(i);
}



Özet: Hangisini Seçmeliyim?​


Döngü TipiNe Zaman Kullanılır?
ForTekrar sayısı net belliyse.
WhileBir durum gerçekleşene kadar sürecekse.
Do-Whileİşlem en az 1 kez mutlaka yapılacaksa.
ForeachBir listedeki tüm elemanlara bakılacaksa.



Sonuç​


Döngüler, kodunuzun kalbi gibidir. Yanlış tasarlanan bir döngü uygulamanızın aşırı RAM/CPU tüketmesine veya çökmesine neden olabilir. Modern C# dünyasında, performans ve güvenlik açısından mümkünse foreach veya LINQ yapılarını kullanmaya özen gösterin.
 
Geri
Üst