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ü Tipi | Ne Zaman Kullanılır? |
|---|---|
| For | Tekrar sayısı net belliyse. |
| While | Bir durum gerçekleşene kadar sürecekse. |
| Do-While | İşlem en az 1 kez mutlaka yapılacaksa. |
| Foreach | Bir 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.