IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# Her Bir (Geliştiriciler İçin Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 21 Nisan 2026

Bu öğreticide, geliştiriciler için temel bir araç olan "C# foreach" döngüsünü ele alacağız. foreach döngüsü, bir koleksiyon boyunca yineleme sürecini basitleştirir ve her bir öğe üzerinde işlem yapmayı, temel ayrıntılar hakkında endişe duymadan kolaylaştırır. foreach'nin önemi, kullanım durumları ve C# kodunuzda nasıl uygulanacağı üzerinde konuşacağız.

foreach Döngüsüne Giriş

foreach döngüsü, geliştiriciler için koleksiyonlar arasında özlü ve okunabilir bir şekilde yineleme yapabilmeleri için güçlü bir araçtır. Bu, kodu basitleştirir ve koleksiyon öğelerinin indeksini veya sayısını elle yönetme gereği olmadığından hata olasılıklarını azaltır. Okunabilirlik ve sadelik açısından, foreach döngüsü genellikle geleneksel for döngüsünden tercih edilir.

foreach için kullanım durumları şunlardır:

  • Bir koleksiyondaki değerleri toplama
  • Bir koleksiyonda bir öğe arama
  • Bir koleksiyondaki öğeleri değiştirme
  • Bir koleksiyonun her bir elemanı üzerinde işlem yapmak

Koleksiyonları Anlamak

C# dilinde, bir grup öğeyi tek bir nesnede depolamak için kullanılan farklı türde koleksiyonlar bulunmaktadır. Bunlar arasında diziler, listeler, sözlükler ve daha fazlası bulunur. foreach döngüsü, IEnumerable veya IEnumerable<t> arayüzünü uygulayan herhangi bir koleksiyonla kullanılabilecek kullanışlı bir araçtır.

Yaygın bazı koleksiyon türleri şunlardır:

  • Diziler: Aynı veri tipine sahip elemanların sabit boyutlu koleksiyonu.
  • Listeler: Aynı veri türüne sahip öğelerin dinamik bir koleksiyonu.
  • Sözlükler: Her anahtarın benzersiz olduğu anahtar-değer çiftlerinden oluşan bir koleksiyon.

System.Collections.Generic namespace'i koleksiyonlarla çalışmak için çeşitli türler içerir.

Implementing the foreach statement in C#

Artık koleksiyonlar ve foreach döngüsü hakkında temel bir anlayışa sahip olduğumuza göre, gelin C#'deki sözdizimine bakalım ve nasıl çalıştığını görelim.

foreach Döngüsünün Sözdizimi

foreach (variableType variableName in collection)
{
    // Code to execute for each item
}

Burada variableType, koleksiyondaki öğelerin veri türünü temsil eder, variableName, döngüdeki mevcut öğeye (döngü değişkeni) verilen addır ve collection, yinelemek istediğiniz koleksiyona atıfta bulunur.

Örnek

Bir tamsayı listesine sahip olduğumuzu ve listedeki tüm elemanların toplamını bulmak istediğimizi düşünelim.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Create a list of integers
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // Initialize a variable to store the sum
        int sum = 0;

        // Iterate through the list using foreach loop
        foreach (int number in numbers)
        {
            sum += number;
        }

        // Print the sum
        Console.WriteLine("The sum of the elements is: " + sum);
    }
}

Çıktı

Döngü çalıştırıldığında, aşağıdaki çıktıyı verir.

The sum of the elements is: 15
Text

Yukarıdaki örnekte, önce numbers adlı bir tamsayı listesi oluşturuyoruz ve elemanların toplamını depolamak için sum adlı bir değişkeni başlatıyoruz. Daha sonra, listeyi geçmek ve her elemanın değerini toplamaya eklemek için foreach döngüsünü kullanıyoruz. Son olarak, toplamı konsola yazdırıyoruz. Bu yöntem, benzer şekilde diğer koleksiyonlar üzerinde de yazdırmak veya işlem yapmak için uyarlanabilir.

Varyasyonlar ve En İyi Uygulamalar

Artık foreach döngüsünün nasıl kullanılacağı hakkında temel bir anlayışa sahip olduğumuza göre, gelin bazı varyasyonlar ve en iyi uygulamalar üzerinde tartışalım.

Sadece Okuma Yinelemesi: foreach döngüsü, sadece okuma yinelemesi için en uygunudur, çünkü iterasyon sırasında koleksiyonu değiştirmek beklenmedik sonuçlara veya çalışma zamanı hatalarına yol açabilir. Eğer iterasyon sırasında koleksiyonu değiştirmeniz gerekiyorsa, geleneksel for döngüsünü kullanmayı veya istenen değişikliklerle yeni bir koleksiyon oluşturmayı düşünün.

var anahtar kelimesini kullanma: Koleksiyondaki öğelerin veri türünü açıkça belirtmek yerine, derleyicinin veri türünü çıkarmasına izin vermek için var anahtar kelimesini kullanabilirsiniz. Bu, kodu daha özlü ve bakımını kolay hale getirebilir.

Örnek:

foreach (var number in numbers)
{
    Console.WriteLine(number);
}

Sözlükler arasında iterasyon: Sözlükler arasında iterasyon yapmak için bir foreach döngüsü kullanırken, KeyValuePair yapısıyla çalışmanız gerekecek. Bu yapı, sözlükteki bir anahtar-değer çiftini temsil eder.

Örnek:

Dictionary<string, int> ageDictionary = new Dictionary<string, int>
{
    { "Alice", 30 },
    { "Bob", 25 },
    { "Charlie", 22 }
};

foreach (KeyValuePair<string, int> entry in ageDictionary)
{
    Console.WriteLine($"{entry.Key} is {entry.Value} years old.");
}

LINQ ve foreach: LINQ (Language Integrated Query), C#'de veriyi daha bildirimli bir şekilde sorgulama ve manipüle etmeyi sağlayan güçlü bir özelliktir. Daha anlamlı ve verimli kod yaratmak için LINQ'yu foreach döngüsü ile kullanabilirsiniz.

Örnek:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // Use LINQ to filter out even numbers
        var evenNumbers = numbers.Where(n => n % 2 == 0);

        // Iterate through the even numbers using foreach loop
        foreach (var number in evenNumbers)
        {
            Console.WriteLine(number);
        }
    }
}

IronPDF İşlevselliğini C# foreach Eğitimine Ekleme

Bu bölümde, C# 'foreach' döngüsü konusundaki eğitimimize, C# içinde PDF dosyalarıyla çalışmak için popüler bir kütüphane olan IronPDF'yi tanıtarak genişleteceğiz. Veri koleksiyonuna dayalı bir PDF raporu oluşturmak için foreach döngüsünü IronPDF ile birleştirerek nasıl kullanacağımızı göstereceğiz.

IronPDF Tanıtımı

IronPDF, C#'ta PDF dosyaları oluşturmak, düzenlemek ve içeriğini çıkartmak için güçlü bir kütüphanedir. PDF belgeleriyle çalışmaya yönelik kullanımı kolay bir API sunar, bu da uygulamalarına PDF işlevselliği eklemek isteyen geliştiriciler için mükemmel bir seçenektir.

IronPDF'nin bazı anahtar özellikleri şunlardır:

  • HTML, URL'ler ve görüntülerden PDF oluşturma
  • Mevcut PDF belgelerini düzenleme
  • PDF'lerden metin ve görüntüleri çıkarma
  • PDF'lere açıklama, form alanları ve şifreleme ekleme

Installing IronPDF

IronPDF ile çalışmaya başlamak için, IronPDF NuGet paketini yüklemeniz gerekecek. Bunu IronPDF belgelerindeki talimatları takip ederek yapabilirsiniz.

IronPDF ve foreach ile PDF Raporu Oluşturma

Bu örnekte, IronPDF kütüphanesini ve foreach döngüsünü kullanarak, adları ve fiyatları içeren bir ürün listesi PDF raporu oluşturacağız.

Öncelikle ürünleri temsil etmek için basit bir Product sınıfı oluşturalım:

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }

    public Product(string name, decimal price)
    {
        Name = name;
        Price = price;
    }
}

Ardından, PDF raporunu oluşturmak için Product nesnelerinden oluşan bir liste oluşturalım:

List<Product> products = new List<Product>
{
    new Product("Product A", 29.99m),
    new Product("Product B", 49.99m),
    new Product("Product C", 19.99m),
};

Artık ürün bilgilerini içeren bir PDF raporu oluşturmak için IronPDF ve foreach döngüsünü kullanabiliriz:

using System;
using System.Collections.Generic;
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a list of products
        List<Product> products = new List<Product>
        {
            new Product("Product A", 29.99m),
            new Product("Product B", 49.99m),
            new Product("Product C", 19.99m),
        };

        // Initialize an HTML string to store the report content
        string htmlReport = "<table><tr><th>Product Name</th><th>Price</th></tr>";

        // Iterate through the list of products using foreach loop
        foreach (var product in products)
        {
            // Add product information to the HTML report
            htmlReport += $"<tr><td>{product.Name}</td><td>${product.Price}</td></tr>";
        }

        // Close the table tag in the HTML report
        htmlReport += "</table>";

        // Create a new instance of the HtmlToPdf class
        var htmlToPdf = new ChromePdfRenderer();

        // Generate the PDF from the HTML report
        var PDF = htmlToPdf.RenderHtmlAsPdf(htmlReport);

        // Save the PDF to a file
        PDF.SaveAs("ProductReport.PDF");

        // Inform the user that the PDF has been generated
        Console.WriteLine("ProductReport.PDF has been generated.");
    }
}

C# For Each (Geliştiriciler İçin Nasıl Çalışır) Şekil 1 - Çıktı Sonucu

Sonuç

Bu eğitim boyunca, "C# foreach" döngüsünün temellerini, önemini, kullanım durumlarını ve kodunuza nasıl uygulayacağınızı inceledik. Ayrıca, C#'deki PDF dosyaları ile çalışma konusunda güçlü bir kütüphane olan IronPDF'yi tanıttık ve veri koleksiyonuna dayalı bir PDF raporu oluşturmak için foreach döngüsünü IronPDF ile nasıl kullanacağımızı gösterdik.

Öğrenmeye ve becerilerinizi geliştirmeye devam edin, yakında foreach döngüsünün ve diğer C# özelliklerinin tam potansiyelini kullanarak sağlam ve verimli uygulamalar yaratabileceksiniz. IronPDF, kütüphaneyi test etmek için ücretsiz bir deneme sunuyor. Satın almaya karar verirseniz, IronPDF lisansı $999'den başlar.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez