Sobes.tech
Junior

C#'ta IEnumerable nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde IEnumerable, System.Collections isim alanında tanımlanmış bir arayüzdür. Koleksiyonun öğeleri üzerinde gezinme (iterasyon) sağlayan genel bir yoldur.

IEnumerable'in temel özellikleri:

  • İteratör ile erişim: GetEnumerator() metodunu tanımlar, bu metod IEnumerator arayüzünü uygulayan bir nesne döner. IEnumerator, koleksiyonun bir öğesinden diğerine sıralı geçiş yapmayı sağlar.
  • Salt okunur: IEnumerable sadece öğeleri dolaşmaya izin verir. Öğeleri ekleme, silme veya değiştirme metodları sağlamaz.
  • Tembel yükleme: IEnumerable kullanımı genellikle tembel yüklemeye yol açar. Öğeler, yalnızca ihtiyaç duyulduğunda, iterasyon sırasında oluşturulur veya yüklenir.
  • LINQ temelidir: IEnumerable, birçok LINQ işlemi için temel arayüzdür. Where, Select, OrderBy gibi LINQ genişletme metodları, IEnumerable uygulayan koleksiyonlar üzerinde çalışır ve işlem zincirleri oluşturmayı sağlar.

Kullanım örneği:

// Bir dize listesi oluşturuyoruz
List<string> meyveler = new List<string> { "elma", "muz", "kiraz" };

// `IEnumerable` ile çalışan foreach kullanarak liste öğelerini dolaşıyoruz
foreach (string meyve in meyveler)
{
    // Her meyveyi yazdır
    Console.WriteLine(meyve);
}

İlgili arayüzler:

Arayüz Açıklama
IEnumerable Koleksiyonun öğeleri üzerinde gezinmeyi sağlar
IEnumerable<T> Tipli koleksiyonlar için IEnumerable'in jenerik versiyonu
ICollection IEnumerable'i genişletir, boyut, ekleme/silme metodları ekler (genel değil)
ICollection<T> ICollection'in jenerik versiyonu
IList<T> ICollection<T>'i genişletir, indeksle erişim sağlar