Sobes.tech
Junior — Middle

Programlama dilinde IEnumerable arayüzünü hangi yöntemler uygular?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde, IEnumerable arayüzü, GetEnumerator() metodunu sağlayan ve IEnumerator arayüzünü uygulayan nesneleri döndüren sınıflar ve yapılar tarafından uygulanır. Bu, koleksiyon üzerinde foreach döngüsü kullanarak gezinmeye olanak tanır.

IEnumerable'ın uygulanmasının temel yolları:

  1. El ile uygulama:
public class MyCollection : IEnumerable
{
    private object[] items = {1, 2, 3};

    public IEnumerator GetEnumerator()
    {
        for (int i = 0; i < items.Length; i++)
            yield return items[i];
    }
}
  1. Genel IEnumerable<T> arayüzünün uygulanması:
public class MyCollection<T> : IEnumerable<T>
{
    private T[] items;

    public MyCollection(T[] items) { this.items = items; }

    public IEnumerator<T> GetEnumerator()
    {
        for (int i = 0; i < items.Length; i++)
            yield return items[i];
    }

    IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
  1. Standart kütüphane koleksiyonlarının kullanımı, zaten IEnumerable uygulayanlar (örneğin, List<T>, Array).

Bu nedenle, ana nokta, koleksiyonun elemanları üzerinde gezinmek için bir enumeratör döndüren GetEnumerator() metodunu sağlamaktır.