IRONSOFTWAREHOME
.NET YARDIM

C# Liste Yazdırma: Hızlı Bir Öğretici

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

C#'ta bir listeyi yazdırmak yaygın bir görevdir ve çeşitli şekillerde yapılabilir, esneklik ve özelleştirme sunar. Listeler, C#'ta temel veri yapılarıdır ve içeriğini yazdırabilme, hata ayıklama, günlük tutma veya kullanıcılara bilgi gösterme için önemlidir.

Bu makalede, farklı yöntemlerle C#'ta bir liste yazdırmayı keşfedeceğiz.

C#'te Liste Temel Bilgileri

C#'da, bir list boyutu büyüyebilen veya küçülebilen dinamik bir dizidir. System.Collections.Generic isim alanının bir parçası olup, öğe koleksiyonlarını handle etmede esneklik ve verimlilik sağlar. Aşağıdaki kod basit bir numaralar listesi oluşturur:

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

Bir Döngü Kullanarak Liste Yazdırma

1. foreach Döngüsü Kullanma

Listenin elemanlarını yazdırmanın geleneksel ve basit yolu foreach döngüsü kullanmaktır. İşte basit bir örnek:

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        Console.WriteLine("Printing list using foreach loop:");
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

Bu yöntem, çoğu senaryo için uygun hale getiren özlü ve okunabilirdir.

2. for Döngüsü Kullanma

İndeks üzerinde daha fazla kontrol ihtiyacı duyuyorsanız veya elemanları koşullu olarak yazdırmak istiyorsanız, for döngüsünü kullanabilirsiniz. İşte bir string listesi örneği:

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        // Create list of strongly typed objects
        List<string> colors = new List<string> { "Red", "Green", "Blue", "Yellow" };
        Console.WriteLine("Printing list using for loop:");
        for (int index = 0; index < colors.Count; index++)
        {
            Console.WriteLine($"Color at index {index}: {colors[index]}");
        }
    }
}

Bu yaklaşım, indeks erişimine ihtiyaç duyduğunuzda veya yazdırma sırasında özel bir mantık uygulamak istediğinizde faydalıdır.

Liste Elemanlarını Tersine Yazdırma

Bir listeyi tersten yazdırmak, Reverse metodunu kullanarak gerçekleştirilebilir. Bu yöntem, listedeki elemanların sırasını tersine çevirir ve ardından onları yazdırabilirsiniz.

1. List.Reverse Yöntemini Kullanarak

Örneğin, listenin elemanlarını tersten yazdırmak için Reverse metodunu kullanabilir, ardından her elemanı yazdırabilirsiniz.

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        numbers.Reverse();
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

2. LINQ ile OrderByDescending Kullanarak

OrderByDescending metodunu bir anahtar ile kullanarak, LINQ'nin genel sınıfında belirtilen bir eleman koleksiyonunu düzenleyebilirsiniz.

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

class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        var reversedNumbers = numbers.OrderByDescending(n => n);
        foreach (var number in reversedNumbers)
        {
            Console.WriteLine(number);
        }
    }
}

Eleman Sayısını Sayma ve Yazdırma

Bir listedeki eleman sayısını saymak yaygın bir işlemdir. Bu amaçla Count özelliği kullanılabilir. Sayılara sahip olduğunuzda, bunu kolayca yazdırabilirsiniz.

1. List.Count Özelliğini Kullanarak

using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        int count = names.Count;
        Console.WriteLine($"Number of elements: {count}");
    }
}

2. LINQ Count Methodunu Kullanarak

LINQ tercih edildiğinde, saymak için de kullanılabilir:

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

class Program
{
    public static void Main()
    {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        int count = names.Count();
        Console.WriteLine($"Number of elements: {count}");
    }
}

Belirtilen İndekste Liste Öğelerini Yazdırma

Belirtilen bir indekste eleman yazdırmak, o listenin o indeksindeki öğeye erişmeyi içerir. Bu, farklı konumlardaki elemanlara erişmenizi sağlar ve potansiyel indeks aralığı dışında kalan senaryolarla başa çıktığınızdan emin olmanıza yardımcı olur:

using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        List<double> prices = new List<double> { 19.99, 29.99, 39.99 };
        int indexToPrint = 1;
        if (indexToPrint >= 0 && indexToPrint < prices.Count)
        {
            Console.WriteLine($"Element at index {indexToPrint}: {prices[indexToPrint]}");
        }
        else
        {
            Console.WriteLine("Index out of range.");
        }
    }
}

Bu örnekler, çeşitli senaryolarda liste öğelerini yazdırma konusunda bir temel sağlar. Yazdırma için kullanılabilecek başka kullanışlı methodlar list sınıfı tarafından sunulmaktadır.

Bazı faydalı yöntemler şunlardır:

  • Remove: C# listesindeki ilk uyuşmayı kaldırır.
  • RemoveAll: Belirtilen önermeye dayalı elemanları kaldırmak için kullanılır.
  • RemoveRange: Belirtilen indeks ve sayı parametrelerine dayalı olarak bir eleman aralığını kaldırır.
  • Add: Listenin sonuna sadece bir eleman ekleyebilir.
  • AddRange: Belirtilen koleksiyonun elemanlarını sona ekleyebilir.
  • Clear: Listeden tüm elemanları kaldırır.
  • Insert: Listenin belirtilen indekste bir eleman eklemesini sağlar.
  • ForEach: Her elemanda belirli işlemler yapmak, örneğin her liste değerini verimli bir şekilde yazdırmak için kullanılır.
  • ToArray: Listeyi yeni bir diziye kopyalar.

Artık ihtiyaçlarınıza en iyi uyan yaklaşımı seçebilir ve C# kodunuzun okunabilirliğini ve verimliliğini artırabilirsiniz.

String.Join Yöntemi

String.Join metodu, bir listenin elemanlarını belirli bir ayırıcı ile tek bir dizeye eklemek için kısa bir yol sağlar. Bu, listenin biçimlendirilmiş bir string temsilini oluşturmak için faydalı olabilir.

using System;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        string result = string.Join(", ", numbers);
        Console.WriteLine(result);
    }
}

Burada, listenin elemanları numbers, virgül ve boşluk ile ayrılarak formate edilmiş bir çıktı haline getirilir. Yazdırmadan önce sıralama yöntemi de kullanılabilir.

Gelişmiş Senaryolar için LINQ Kullanımı

Daha karmaşık senaryolar için, elemanları yazdırmadan önce filtrelemek, dönüştürmek veya formatlamak istediğinizde, Dil Entegrasyonlu Sorgu (LINQ) faydalı olabilir.

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

class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
        Console.WriteLine("Even numbers: " + string.Join(", ", evenNumbers));
    }
}

Bu örnekte, LINQ orijinal listeden çift sayıları filtrelemek için kullanılır. Where() metodu lambda ifadesi ile uygulanır ve sonuçları tekrar bir listeye dönüştürmek için ToList() metodu kullanılır.

C# Listesi Yazdırma (Geliştiriciler için Nasıl Çalışır): Şekil 1 - Konsol Çıktısı: Çift sayılar: 2, 4

Özel Nesneler ve ToString() Yöntemi

Özel nesnelerden oluşan bir listeniz varsa, nesne sınıfınızda anlamlı temsil için ToString metodunu geçersiz kılmanız önerilir. Aşağıdaki örnek, bunu nasıl yapacağınızı gösterir:

using System;
using System.Collections.Generic;

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public override string ToString()
    {
        return $"{Name}, {Age} years old";
    }
}

class Program
{
    public static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "Alice", Age = 30 },
            new Person { Name = "Bob", Age = 25 }
        };
        foreach (Person person in people)
        {
            Console.WriteLine(person);
        }
    }
}

ToString() metodunu Person sınıfında geçersiz kılarak, sınıfın örneklerinin nasıl dizelerde temsil edileceğini kontrol edersiniz. Bu, yazdırdığınızda listenizin okunabilirliğini artırır.

C# Listesi Yazdırma (Geliştiriciler için Nasıl Çalışır): Şekil 2 - Konsol Çıktısı

IronPrint'i Tanıtıyoruz - C# Baskı Kütüphanesi

IronPrint, doğruluk, kullanım kolaylığı ve hız önceliğiyle güçlü ve dağıtılabilir bir baskı kütüphanesi olarak öne çıkıyor. Çoklu platform desteği ve çeşitli belge formatlarıyla uyumluluğu, uygulamalarında verimli baskı çözümleri arayan .NET geliştiricileri için değerli bir araç haline getiriyor.

C# Listesi Yazdırma (Geliştiriciler için Nasıl Çalışır): Şekil 3 - IronPrint for .NET: C# Yazdırma Kütüphanesi

Başlıca Özellikler

İşte C# uygulamalarında fiziksel belgelerin yazdırılması için IronPrint'i öne çıkaran bazı önemli anahtar özellikler:

1. Çoklu Platform Uyumluluğu

  • .NET Sürüm Desteği: .NET 8, 7, 6, 5, ve Core 3.1+
  • İşletim Sistemleri: Windows (7+, Server 2016+), macOS (10+), iOS (11+), Android API 21+ (v5 "Lollipop")
  • Proje Türleri: Mobil (Xamarin & MAUI & Avalonia), Masaüstü (WPF & MAUI & Windows Avalonia), Konsol (App & Kütüphane)

2. Desteklenen Formatlar

  • PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE ve BITMAP dahil olmak üzere çeşitli belge formatlarını işleyebilir.
  • Belge gereksinimlerine göre baskı ayarlarını özelleştirin.

3. Kolay Kurulum

IronPrint kütüphanesini NuGet Paket Yöneticisi Konsolu kullanarak yükleyin:

PM > Install-Package IronPrint

Alternatif olarak, Visual Studio kullanarak projenize yükleyebilirsiniz. Çözüm Gezgini'nde projeye sağ tıklayın ve Çözümler için NuGet Paket Yöneticisi'ni Yönet'e tıklayın. NuGet inceleme sekmesinde, "IronPrint" için arama yapın, IronPrint paketinin en son sürümünü arama sonuçlarından seçin ve ardından projelerinize eklemek için Yükle butonuna tıklayın.

IronPrint ile Yazdırma: Kod Örnekleri

1. Belge Yazdırma

IronPrint, belgelerin sessizce yazdırılmasını basit bir Print metodu ile sunar. Fiziksel bir yazıcı mevcut değilse, işletim sistemi tarafından belirtilen varsayılan yazıcıyı kullanarak yazdırır.

using IronPrint;

class Program
{
    static void Main()
    {
        // Print the document
        Printer.Print("newDoc.pdf");
    }
}

2. Dialog ile Yazdırma

Ayrıca, yazdırma sırasında daha iyi kontrol için print diyalog kutusunu gösteren özel bir metod sunar. ShowPrintDialogAsync metodu ile de asenkron olarak yazdırmak mümkündür.

using IronPrint;

class Program
{
    static void Main()
    {
        // Show print dialog
        Printer.ShowPrintDialog("newDoc.pdf");
    }
}

3. Yazdırma Ayarlarını Özelleştirme

IronPrint, belgenin yazdırılması üzerinde hassas kontrol sağlayan çeşitli print ayarları sunar.

using IronPrint;

class Program
{
    static void Main()
    {
        // Configure print settings
        PrintSettings printSettings = new PrintSettings()
        {
            Dpi = 150,
            NumberOfCopies = 2,
            PaperOrientation = PaperOrientation.Portrait
        };
        // Print the document
        Printer.Print("newDoc.pdf", printSettings);
    }
}

Kullanılan sınıf ve yöntemler hakkında daha iyi bir anlayış edinmek için lütfen API Referansı sayfasını ziyaret edin.

Sonuç

C#'ta bir liste yazdırmak, verilerin karmaşıklığına ve istenen çıktı formatına göre doğru yöntemi seçmeyi içerir. Basit bir döngü, String.Join(), LINQ kullanarak veya özel nesneler için ToString() metodunu özelleştirerek, bu yaklaşımları anlamak C# uygulamalarınızda listelerin içeriklerini etkili bir şekilde göstermenizi sağlar. Bu tekniklerle deney yapın ve özel kullanım senaryonuza en uygun olanı seçin.

IronPrint doğruluk, kullanım kolaylığı ve hız istiyorsanız, başvurmanız gereken baskı kütüphanesidir. WebApps'i inşa ediyor olun, MAUI, Avalonia ile çalışıyor olun veya herhangi bir .NET ile ilgili bir şey yapıyor olun, IronPrint sizin arkanızdadır. IronPrint hakkında daha detaylı bilgi için lütfen bu dokümantasyon sayfasını ziyaret edin.

IronPrint ücretli bir kütüphane, ancak bir ücretsiz deneme bulunmaktadır. Kütüphaneyi buradan indirin ve deneyin!

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