Sobes.tech
Junior — Middle

Kādi veidi īsteno interfeisu IEnumerable programmēšanas valodā?

sobes.tech AI

Atbilde no AI

C# valodā IEnumerable saskarne tiek īstenota ar klasēm un struktūrām, kas nodrošina GetEnumerator() metodi, kas atgriež objektu, kas īsteno IEnumerator saskarni. Tas ļauj pārlūkot kolekciju, izmantojot foreach ciklu.

Galvenie IEnumerable īstenošanas veidi:

  1. Rokas darbs:
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. Ģeneriskās IEnumerable<T> saskarnes īstenošana:
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. Standarta bibliotēkas kolekciju izmantošana, kas jau īsteno IEnumerable (piemēram, List<T>, Array).

Galvenais punkts — nodrošināt GetEnumerator() metodi, kas atgriež enumeratoru, lai pārietu pa kolekcijas elementiem.