IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

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

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

IList'ye Giriş

IList, .NET Framework'ün Collections isim alanının bir parçasıdır. Bu, nesnelerin index'leri ile bireysel olarak erişilebileceği bir koleksiyon için plan sağlayan bir türdür. Dizilerden farklı olarak, IList, eleman ekleme veya çıkartma yaparak koleksiyon boyutunu dinamik olarak ayarlamamıza olanak tanır. .NET Framework'teki tüm çocuk olmayan liste türlerinin temel arayüzü olarak, dizilere kıyasla daha esnek bir şekilde nesne koleksiyonlarını yönetmenin bir yolunu sunar. Bu derste, IList arayüzü ve IronPDF C# PDF Kütüphanesi hakkında bilgi edineceğiz.

IList Arayüzünü Anlamak

public interface IList bildirimi, .NET Framework'ün Collections isim alanı tarafından belirtilen IList sözleşmesine uyan özel koleksiyonlar oluşturmanın temel bir parçasıdır. IList, koleksiyondaki elemanlara erişme, sayma ve eleman ekleyerek, ekleyerek veya çıkararak koleksiyonu değiştirmeyi sağlayan özellikler ve yöntemler içerir. İşte IList arayüzünde tanımlanan bazı önemli özellikler ve yöntemler:

  • IsFixedSize ve IsReadOnly gibi özellikler sırasıyla koleksiyonun sabit boyutta mı yoksa salt okunur mu olduğunu bildirir.
  • Add, Insert, Remove ve RemoveAt gibi yöntemler, koleksiyon içindeki elemanları değiştirmek için kullanılır. Elemanları ekleyebilir, yerleştirebilir ve kaldırabilirsiniz.
  • IndexOf yöntemi, elemanların yerini bulmak için, ve Item özelliği (veya C#'de dizinleyici), elemanları dizine göre alma ve ayarlama sağlar.

IList Arayüzünün Pratik Kullanımı

IList nasıl çalıştığını göstermek için, basit bir örnek oluşturalım. Bu örnek, bir IList nasıl ilan edileceğini, öğelerle doldurulacağını ve içeriğinin üzerinde döngü yapılacağını gösterecektir.

Bir IList Oluşturmak ve Değiştirmek

Öncelikle, bir IList ilan etmenin ve öğeler eklemenin nasıl yapıldığını görelim:

using System;
using System.Collections;

class Program
{
    static void Main(string[] args)
    {
        // Creating an IList instance
        IList myIList = new ArrayList();

        // Adding elements to the IList
        myIList.Add("Hello");
        myIList.Add(10);
        myIList.Add(new object());

        // Displaying the number of values in the IList using the Count property
        Console.WriteLine($"Number of elements: {myIList.Count}");

        // Accessing elements using a loop
        foreach (var element in myIList)
        {
            Console.WriteLine(element);
        }
    }
}

Yukarıdaki örnekte, IList'ü uygulayan bir sınıf olan ArrayList kullanarak bir IList örneği oluşturduk. Farklı türdeki nesnelerin karışımını ekledik, çünkü bir IList herhangi bir nesne tutabilir. Sonunda, koleksiyon üzerinde yineleme yaparak, her öğeyi yazdırdık.

Dizin Tabanlı Erişim ve Değişiklik

Elemanlara dizinlerine göre erişmek ve onları değiştirmek, IList'ün anahtar bir özelliğidir. Bunu nasıl yapabileceğinizi gösteren bir örnek aşağıda verilmiştir:

using System;
using System.Collections;

class Program
{
    static void Main(string[] args)
    {
        IList myIList = new ArrayList { "Hello", 10, new object() };

        // Accessing an element by index
        object value = myIList[1];
        Console.WriteLine($"Element at index 1: {value}");

        // Modifying an element by index
        myIList[1] = 20;
        Console.WriteLine($"Modified element at index 1: {myIList[1]}");
    }
}

Özel bir IList Uygulamak

Bazen IList öğesinden türeyen özel bir koleksiyona ihtiyaç duyabilirsiniz. Bu, elemanların nasıl saklandığı, erişildiği ve değiştirildiği üzerinde daha fazla kontrol sağlar. Aşağıda, IList uygulayan basit bir özel koleksiyon örneği verilmiştir:

using System;
using System.Collections;

public class CustomCollection : IList
{
    private ArrayList _innerList = new ArrayList();

    public object this[int index]
    {
        get => _innerList[index];
        set => _innerList[index] = value;
    }

    public bool IsFixedSize => _innerList.IsFixedSize;
    public bool IsReadOnly => _innerList.IsReadOnly;
    public int Count => _innerList.Count;
    public bool IsSynchronized => _innerList.IsSynchronized;
    public object SyncRoot => _innerList.SyncRoot;

    public int Add(object value)
    {
        return _innerList.Add(value);
    }

    public void Clear()
    {
        _innerList.Clear();
    }

    public bool Contains(object value)
    {
        return _innerList.Contains(value);
    }

    public int IndexOf(object value)
    {
        return _innerList.IndexOf(value);
    }

    public void Insert(int index, object value)
    {
        _innerList.Insert(index, value);
    }

    public void Remove(object value)
    {
        _innerList.Remove(value);
    }

    public void RemoveAt(int index)
    {
        _innerList.RemoveAt(index);
    }

    public void CopyTo(Array array, int index)
    {
        _innerList.CopyTo(array, index);
    }

    public IEnumerator GetEnumerator()
    {
        return _innerList.GetEnumerator();
    }
}

Bu CustomCollection sınıfı, kendisi IList uygulayan bir sınıf olan bir ArrayList kapsüller. Bizim CustomCollection, alttaki ArrayList'e çağrıları iletir ve böylece herhangi başka bir IList uygulayan koleksiyon gibi davranmasını sağlar. Bu örnek, bir IList uygulayan herhangi bir yerleşik .NET koleksiyonu gibi, indeksle erişilip değiştirilebilen (öğeler eklenebilir, yerleştirilebilir veya kaldırılabilir) ve üstünde dolaşılabilen bir koleksiyon oluşturmayı göstermektedir.

IList ile İleri Düzey İşlemler

Temel ekleme, kaldırma ve erişim işlemlerinin ötesinde, IList daha karmaşık manipülasyonlar ve sorgulamalar için olanak tanır. Örneğin, bir koleksiyonun belirli bir nesne içerip içermediğini kontrol etmek veya koleksiyon içindeki bir nesnenin dizinini bulmak, belirli uygulamalar için önemli olabilecek işlemlerdir:

using System;
using System.Collections;

class Program
{
    static void Main(string[] args)
    {
        IList myIList = new ArrayList { "Hello", 10, new object() };

        // Check if the IList contains a specific object
        bool contains = myIList.Contains(10); // Assuming 10 was added previously
        Console.WriteLine($"Contains 10: {contains}");

        // Find the index of a specific object
        int index = myIList.IndexOf(10);
        Console.WriteLine($"Index of 10: {index}");
    }
}

Bu işlemler, belirli öğelerin varlığını veya konumunu, tüm koleksiyonu üzerinden yineleme yapmadan belirlemeniz gerektiğinde, nesne koleksiyonları ile çalışırken özellikle yararlı olabilir.

IronPDF: C# PDF Kütüphanesi

C# iList (Geliştiriciler İçin Nasıl Çalışıyor): Şekil 1 - IronPDF

IronPDF, .NET geliştiricileri için, doğrudan .NET uygulamalarında PDF belgeleri oluşturma ve işlemi gerçekleştirme imkanı veren bir PDF kütüphanesidir. HTML'den PDF belgeleri, görseller ve web sayfalarını PDF'ye dönüştürmeyi destekler. Geliştiriciler, uygulamalarına bu kütüphane ile kolayca PDF işlevsellikleri ekleyebilir. IronPDF ayrıca, PDF dosyalarının düzenlenmesi, birleştirilmesi ve ayrılması gibi işlemler için özellikler sunar ve PDF manipülasyonu üzerinde kapsamlı bir kontrol sağlar.

IronPDF, HTML'den PDF'ye dönüşümde mükemmeldir, özgün düzenler ve stillerin hassas bir şekilde korunmasını sağlar. Raporlar, faturalar ve belgeler gibi web tabanlı içeriklerden PDF oluşturmak için mükemmeldir. HTML dosyaları, URL'ler ve ham HTML dizeleri için destekle, IronPDF yüksek kaliteli PDF belgelerini kolayca üretir.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Kod Örneği

İşte IronPDF ve IList arayüzü kullanarak bir dizi metinden basit bir PDF dokümanı oluşturmayı gösteren basit bir örnek:

using IronPdf;
using System.Collections.Generic;

public class PDFGenerator
{
    public static void GeneratePDFFromList(IList<string> dataList)
    {
        // Initialize the HtmlToPdf renderer
        var renderer = new ChromePdfRenderer();

        // Start building HTML content from the dataList
        var htmlContent = "<h1>My Data List</h1><ul>";
        foreach (var item in dataList)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Convert HTML string to PDF
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF to a file
        pdfDocument.SaveAs("DataList.pdf");
    }
}

// Example usage
class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "License-Key";
        IList<string> myDataList = new List<string> { "Apple", "Banana", "Cherry" };
        PDFGenerator.GeneratePDFFromList(myDataList);
    }
}

Bu örnekte, meyve isimlerinden oluşan bir koleksiyonu depolamak için bir IList<string> kullanılmıştır. GeneratePDFFromList yöntemi daha sonra bu liste üzerinde dolaşarak her öğeyi sıralı bir liste içinde içeren bir HTML dizesi oluşturur. IronPDF'nin ChromePdfRenderer , bu HTML içeriğini bir PDF belgesine dönüştürür ve ardından bir dosyaya kaydeder.

C# iList (Geliştiriciler İçin Nasıl Çalışıyor): Şekil 2 - PDF Çıktısı

Sonuç

Bu başlangıç seviyesi rehber, C# üzerindeki IList'in temellerini ve pratik kullanımlarını kapsamayı amaçladı. Basit kullanımdan özel uygulamalara kadar uzanan örneklerle, IList'un C# geliştiricisinin araç setinde güçlü bir araç olduğu açıktır. İster veri koleksiyonlarını manipüle ediyor olun, ister kendi koleksiyon türlerinizi oluşturuyor olun, IList etkili yazılım geliştirme için gerekli işlevselliği ve esnekliği sunar. IronPDF, ilgilenen kullanıcılar için PDF kütüphanesinin ücretsiz deneme sürümünü sunar ve lisanslar $999'den başlayan fiyatlarla mevcuttur.

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