Ders 25: C# Dizilerde Uzmanlaşın: Foreach Döngüsü ile Verimli Uygulamalar Geliştirin

Ahmet Aslan
By -
0





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:

C#
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:

C#
// 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:

  1. Kaç adet çift sayı olduğunu bulacağız.
  2. Bu çift sayıların toplamını hesaplayacağız.
  3. Bu çift sayıların ortalamasını bulacağız. Sonuçları ise Label kontrollerinde göstereceğiz.

C# Kodu:

C#
// 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 kontrollerinin Text ö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.

Yorum Gönder

0Yorumlar

Yorum Gönder (0)