Sobes.tech
Junior — Middle

Millised meetodid rakendavad interfeisi IEnumerable programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

C# keeles rakendub IEnumerable liides klasside ja struktuuride poolt, mis pakuvad meetodit GetEnumerator(), mis tagastab objekti, mis rakendab IEnumerator liidest. See võimaldab kolleksiooni läbida foreach tsükli abil.

IEnumerable rakendamise peamised viisid:

  1. Käsitsi rakendamine:
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. Generilise IEnumerable<T> liidese rakendamine:
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. Standardraamatukogu kogumite kasutamine, mis juba rakendavad IEnumerable (näiteks List<T>, Array).

Oluline punkt on pakkuda GetEnumerator() meetodit, mis tagastab enumeratori, võimaldades läbida kolleksiooni elemendid.