CodeBlanks Logo Icon CodeBlanks

foreach döngüsü

C# kursu · Başlangıç · Ders 45/116

foreach ile koleksiyonların üzerinde gezinmeyi öğrenirsin.

foreach döngüsü

Bir koleksiyonun tüm elemanları üzerinde sırayla gezmek için foreach kullanılır. foreach (var item in items) { ... } yazımı her elemanı tek tek alır; sayaç ve dizin gerekmez.

Dizi, liste veya başka bir koleksiyon farketmez; foreach hepsinde aynı kalıbı kullanır. Sadece okuma amaçlıdır; gezilirken koleksiyonu değiştiremezsin. Bu yüzden döngü sırasında değişiklik yapılması gereken durumlarda for tercih edilir.

foreach ve readonly

foreach döngüsünde döngü değişkeni salt okunurdur; ona atama yapamazsın. item = 5; gibi bir satır derleme hatası verir. Elemanları değiştirmek istiyorsan for ve dizin kullan.

Bu kısıtlama kasıtlıdır: foreach, koleksiyonu güvenli ve hızlı gezmek için tasarlanmıştır. Değişiklik gerektiğinde for (int i = 0; i < items.Length; i++) { items[i] = ...; } kalıbı doğru yaklaşımdır.

Uygulama foreach ile isimleri yazdır

Bir names dizisi tanımla: { "Ayşe", "Deniz", "Mert" }. foreach ile her ismi Console.WriteLine ile yazdır.

Örnek çözümü göster
string[] names = { "Ayşe", "Deniz", "Mert" }; foreach (var name in names) { Console.WriteLine(name); } yaz.
Örnek çözüm:
using System;

class Program
{
    static void Main()
    {
        string[] names = { "Ayşe", "Deniz", "Mert" };
        foreach (var name in names)
        {
            Console.WriteLine(name);
        }
    }
}

Kendini test et

  1. foreach (var x in arr) Console.WriteLine(x); ne yapar?

    int[] arr = {1, 2, 3};
    foreach (var x in arr) Console.WriteLine(x);
    • arr'nin her elemanını sırayla yazdırır
    • Yalnızca ilk elemanı yazdırır
    • arr'yi sıralanmış yazdırır
    • Hiçbir şey yapmaz
    Cevabı göster

    arr'nin her elemanını sırayla yazdırır — Doğru. foreach koleksiyondaki her elemanı sırayla alır.

  2. foreach parçasını anlamına eşle

    foreach
    Döngü başlangıcı
    var item
    Geçici değişken
    in
    Koleksiyon bağlacı
    items
    Koleksiyon adı
  3. foreach başlığını yaz

    int[] nums = {10, 20, 30};
    ____ (var n in nums)
    {
        Console.WriteLine(n);
    }
    Cevabı göster
    int[] nums = {10, 20, 30};
    foreach (var n in nums)
    {
        Console.WriteLine(n);
    }

Başlangıç bölümündeki tüm dersler