← Back to list

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…

Gurbuzsucuoglu · 2026-01-17 09:23 · 0 claps · 2.5 min read
#c-sharp-programming #arrays #foreach
Open on Medium ↗
Wiki topics: 💻 · Programming

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:

  • for
  • while
  • do-while
  • foreach

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şla
  • i <= 5 → koşul doğruysa devam et
  • i++ → 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

  1. for ve while arasındaki temel farkı açıklayabiliyor muyum?
  2. do-while neden “en az bir kere çalışır” diyoruz?
  3. Dizilerde index neden 0’dan başlar?
  4. break ve continue farkını örneğinle anlatabiliyor muyum?
  5. Bir dizinin toplamını hem for hem foreach ile 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