Merhaba kodlama meraklıları! C# programlama dilinde diziler, veri yönetiminin temel taşlarından biridir. Dizilerdeki elemanlara erişmek ve onlar üzerinde işlemler yapmak sıkça karşılaştığımız bir durumdur. Bu noktada, foreach
döngüsü, C# geliştiricilerine büyük bir kolaylık ve okunabilirlik sunar. Bu yazımızda, bir YouTube dersinden esinlenerek foreach
döngüsünün dizilerle nasıl kullanıldığını pratik örnekler üzerinden inceleyeceğiz.
Foreach Döngüsü Nedir ve Neden Kullanılır?
foreach
döngüsü, bir koleksiyon (örneğin bir dizi veya liste) içerisindeki her bir elemanı tek tek dolaşmamızı sağlayan bir iterasyon yapısıdır. Geleneksel for
döngüsüne kıyasla, özellikle koleksiyonun tüm elemanlarına sırayla erişmek istediğimizde daha sade ve hataya daha az açık bir sözdizimi sunar. İndeks takibi yapma veya koleksiyonun boyutunu kontrol etme gibi detaylarla uğraşmamıza gerek kalmaz.
foreach
döngüsünün temel yapısı şu şekildedir:
foreach (veriTipi elemanAdi in koleksiyonAdi)
{
// elemanAdi ile yapılacak işlemler
}
Burada:
veriTipi
: Koleksiyondaki elemanların veri tipini belirtir.elemanAdi
: Her bir döngü adımında koleksiyondaki mevcut elemanı temsil eden geçici bir değişkendir.koleksiyonAdi
: Üzerinde döngü yapılacak dizinin veya koleksiyonun adıdır.
Uygulama 1: String Dizisindeki Elemanları ListBox'a Yazdırma
İlk örneğimizde, Süper Lig takımlarını içeren bir string dizisi oluşturup, bu dizideki her bir takımı foreach
döngüsü kullanarak bir ListBox
kontrolüne ekleyeceğiz.
C# Kodu:
// Formunuzda bir Button (ornegin btnGoster) ve bir ListBox (ornegin listBoxTakimlar) olduğunu varsayalım.
// Butonun Click event'ine aşağıdaki kodu yazın:
string[] takimlar = { "Trabzonspor", "Galatasaray", "Fenerbahçe", "Beşiktaş" };
listBoxTakimlar.Items.Clear(); // Her tıklamada listeyi temizle
foreach (string takim in takimlar)
{
listBoxTakimlar.Items.Add(takim);
}
Bu kodda, takimlar
adlı string dizisindeki her bir "takim" elemanı sırayla alınır ve listBoxTakimlar
'ın Items
koleksiyonuna Add
metodu ile eklenir. Sonuç olarak, butona tıklandığında tüm takım isimleri ListBox'ta görüntülenir.
Uygulama 2: Integer Dizisindeki Çift Sayıları Bulma, Toplama ve Ortalamasını Hesaplama
İkinci ve daha kapsamlı örneğimizde, 1'den 20'ye kadar sayıları içeren bir integer dizisi oluşturacağız. Bu dizideki çift sayıları foreach
döngüsü ile tespit edip:
- Kaç adet çift sayı olduğunu bulacağız.
- Bu çift sayıların toplamını hesaplayacağız.
- Bu çift sayıların ortalamasını bulacağız.
Sonuçları ise
Label
kontrollerinde göstereceğiz.
C# Kodu:
// Formunuzda bir Button, bir ListBox (opsiyonel, çift sayıları listelemek için)
// ve üç adet Label (labelAdet, labelToplam, labelOrtalama) olduğunu varsayalım.
int[] sayilar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
int adet = 0;
int toplam = 0;
double ortalama = 0; // Ortalama kesirli çıkabilir, double kullanalım
// listBoxCiftSayilar.Items.Clear(); // Eğer çift sayıları listbox'a da ekleyecekseniz
foreach (int sayi in sayilar)
{
if (sayi % 2 == 0) // Sayının 2'ye bölümünden kalan 0 ise çifttir
{
// listBoxCiftSayilar.Items.Add(sayi); // Çift sayıyı ListBox'a ekle
adet++;
toplam += sayi; // toplam = toplam + sayi;
}
}
if (adet > 0) // Sıfıra bölme hatasını engellemek için kontrol
{
ortalama = (double)toplam / adet; // Doğru ortalama için en az birini double'a çevir
}
labelAdet.Text = $"Çift Sayı Adedi: {adet}";
labelToplam.Text = $"Çift Sayıların Toplamı: {toplam}";
labelOrtalama.Text = $"Çift Sayıların Ortalaması: {ortalama:F2}"; // F2 ile virgülden sonra 2 basamak göster
Bu örnekte:
sayilar
dizisindeki her "sayi" için döngü çalışır.if (sayi % 2 == 0)
koşulu ile sayının çift olup olmadığı kontrol edilir.- Eğer sayı çift ise,
adet
bir artırılır ve sayıtoplam
değişkenine eklenir. - Döngü bittikten sonra, eğer en az bir çift sayı bulunmuşsa (
adet > 0
),ortalama
hesaplanır. - Son olarak, bulunan değerler ilgili
Label
kontrollerininText
özelliklerine atanarak kullanıcıya gösterilir.
Sonuç
foreach
döngüsü, C#'ta diziler ve diğer koleksiyon türleri üzerinde çalışırken kodunuzu daha okunabilir ve yönetilebilir hale getirir. İndekslerle uğraşmadan doğrudan koleksiyonun elemanlarına odaklanmanızı sağlar. Bu yazıda ele aldığımız örnekler, foreach
döngüsünün temel kullanımını ve farklı senaryolarda nasıl işe yaradığını göstermektedir.
C# becerilerinizi geliştirirken foreach
döngüsünü sıkça kullanarak pratik yapmayı unutmayın! Bu, daha temiz ve etkili kodlar yazmanıza yardımcı olacaktır.