C# Günlükleri -2 — Döngüler ve Diziler
Bir yazılımı “hızlı” ve “akıllı” yapan şeylerden biri, aynı işi tekrar tekrar yazmak yerine tekrar eden işlemleri tek bir mantıkla…
C# Günlükleri -2 — Döngüler ve Diziler
Bir yazılımı “hızlı” ve “akıllı” yapan şeylerden biri, aynı işi tekrar tekrar yazmak yerine tekrar eden işlemleri tek bir mantıkla yönetebilmesidir.
Günlük hayattan düşün:
- Her sabah 7 gün alarm kurmak yerine “hafta içi tekrar et” dersin.
- 100 kişiye tek tek mesaj yazmak yerine “listeye gönder” dersin.
Kod tarafında bunun karşılığı: Döngüler ve Diziler.
1) Döngüler Nedir?
Döngüler, belirli bir koşul sağlandığı sürece aynı kod bloğunu tekrar çalıştırır.
C# tarafında en çok şunları kullanırız:
forwhiledo-whileforeach
2) for Döngüsü — “Kaç kere döneceğim belli”
Senaryomuz: 1’den 5’e kadar yazdır.
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
Mantık:
int i = 1→ başlai <= 5→ koşul doğruysa devam eti++→ her tur sonunda 1 artır
Mini Örnek: 1–100 arası çift sayıları yazdır
for (int i = 1; i <= 100; i++)
{
if (i % 2 == 0)
Console.WriteLine(i);
}
3) while Döngüsü — “Koşul doğruysa dön”
Koşulun kaç tur süreceği net değilse daha uygun olur.
int sayac = 1;
while (sayac <= 5)
{
Console.WriteLine(sayac);
sayac++;
}
Örneğin: Kullanıcı doğru şifreyi girene kadar sor
string password = "";
while (password != "1234")
{
Console.Write("Şifre gir: ");
password = Console.ReadLine();
}
Console.WriteLine("Hoş geldiniz!");
4) do-while — “En az 1 kere çalış, sonra kontrol et”
Kural basit: Önce çalışır, sonra koşula bakar.
int number;
do
{
Console.Write("1 ile 10 arasında bir sayı gir: ");
number = int.Parse(Console.ReadLine());
}
while (number < 1 || number > 10);
Console.WriteLine("Geçerli sayı girdin!");
5) foreach — “Koleksiyonu dolaş”
Bir dizi/listenin içindeki elemanları tek tek gezmek için en temiz yollardan biri.
string[] names = { "Ahmet", "Ayşe", "Mehmet" };
foreach (string name in names)
{
Console.WriteLine(name);
}
foreach kullanınca:
- index yönetmezsin
- daha okunabilir olur
- “bu koleksiyondaki her eleman için” düşüncesi netleşir
6) break ve continue — Döngü kontrol tuşları
break → döngüyü tamamen bitirir
for (int i = 1; i <= 10; i++)
{
if (i == 5)
break;
Console.WriteLine(i);
}
Çıktı: 1 2 3 4
continue → o turu atlar, bir sonraki tura geçer
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
continue;
Console.WriteLine(i);
}
Çıktı: 1 3 5 7 9
7) Diziler (Arrays) — “Birden fazla veriyi tek yerde tut”
Dizi, aynı türden birden fazla veriyi tek bir isim altında saklamanı sağlar.
int[] numbers = { 10, 20, 30, 40 };
Console.WriteLine(numbers[0]); // 10
- Diziler 0’dan başlar
- Boyutları sabittir
Dizinin uzunluğu
Console.WriteLine(numbers.Length);
8) Döngü + Dizi: En klasik kullanım
Senaryo: Dizideki sayıların toplamını bul.
int[] numbers = { 10, 20, 30, 40 };
int total = 0;
for (int i = 0; i < numbers.Length; i++)
{
total += numbers[i];
}
Console.WriteLine("Toplam: " + total);
Aynı işi foreach ile:
int[] numbers = { 10, 20, 30, 40 };
int total = 0;
foreach (int n in numbers)
{
total += n;
}
Console.WriteLine("Toplam: " + total);
9) Mini Uygulama: Not Ortalaması Hesaplayalım
Kullanıcıdan 5 not alalım, ortalamasını hesaplayalım.
int[] notes = new int[5];
int sum = 0;
for (int i = 0; i < notes.Length; i++)
{
Console.Write($"{i + 1}. notu gir: ");
notes[i] = int.Parse(Console.ReadLine());
sum += notes[i];
}
double average = (double)sum / notes.Length;
Console.WriteLine("Ortalama: " + average);
if (average >= 50)
Console.WriteLine("Geçti!");
else
Console.WriteLine("Kaldı!");
Bu örnek aslında ilk yazıdaki konularla da birleşiyor:
- değişkenler (
sum,average) - karar yapıları (
if-else) - döngüler (
for) - diziler (
notes)
Özet: Ne öğrendik?
- Döngülerle tekrar eden işleri otomatikleştirdik (
for,while,do-while,foreach) - Döngü akışını kontrol etmeyi gördük (
break,continue) - Dizilerle birden fazla veriyi tek yapıda tutmayı öğrendik
- Döngü + dizi birleşince gerçek dünya problemlerinin büyük kısmı çözülür hale geldi
✅ Öğrenme Kontrol Listesi
forvewhilearasındaki temel farkı açıklayabiliyor muyum?do-whileneden “en az bir kere çalışır” diyoruz?- Dizilerde index neden 0’dan başlar?
breakvecontinuefarkını örneğinle anlatabiliyor muyum?- Bir dizinin toplamını hem
forhemforeachile yazabiliyor muyum?
Kapanış
Kod yazarken “tekrar” gördüğün yerde aklına şu gelsin: Döngü mü yazmalıyım? Birden fazla benzer veri gördüğün yerde de: Dizi mi kullanmalıyım?
메타데이터
- post_id
- 7c33ca605502
- slug
- c-günlükleri-2-döngüler-ve-diziler-7c33ca605502
- url
- https://medium.com/@gurbuzsucuoglu/c-g%C3%BCnl%C3%BCkleri-2-d%C3%B6ng%C3%BCler-ve-diziler-7c33ca605502
- canonical_url
- https://medium.com/@gurbuzsucuoglu/c-g%C3%BCnl%C3%BCkleri-2-d%C3%B6ng%C3%BCler-ve-diziler-7c33ca605502
- author_url
- https://medium.com/@gurbuzsucuoglu
- status
- ok
- fetched_at
- 2026-07-19 09:21:33