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 metodIEnumeratorarayüzünü uygulayan bir nesne döner.IEnumerator, koleksiyonun bir öğesinden diğerine sıralı geçiş yapmayı sağlar. - Salt okunur:
IEnumerablesadece öğeleri dolaşmaya izin verir. Öğeleri ekleme, silme veya değiştirme metodları sağlamaz. - Tembel yükleme:
IEnumerablekullanı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,OrderBygibi LINQ genişletme metodları,IEnumerableuygulayan 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 |