Sobes.tech
Junior — Middle

Welke methoden implementeren de interface IEnumerable in de programmeertaal?

sobes.tech AI

Antwoord van AI

In de programmeertaal C# wordt het IEnumerable-interface geïmplementeerd door klassen en structuren die de methode GetEnumerator() bieden, die een object retourneert dat het IEnumerator-interface implementeert. Dit maakt het mogelijk om door de collectie te itereren met een foreach-lus.

De belangrijkste manieren om IEnumerable te implementeren:

  1. Handmatige implementatie:
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. Implementatie van de generieke interface IEnumerable<T>:
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. Gebruik van collecties uit de standaardbibliotheek die al IEnumerable implementeren (bijvoorbeeld List<T>, Array).

Het kernpunt is het bieden van de GetEnumerator()-methode, die een enumerator retourneert om door de elementen van de collectie te lopen.