Sobes.tech
Junior — Middle

Z jakých prvků se skládá vnitřní struktura operátoru foreach v C#?

sobes.tech AI

Odpověď od AI

Vnitřní struktura operátoru foreach v C# je založena na použití rozhraní IEnumerable a jeho metody GetEnumerator(). Hlavní prvky:

  • Kolekce implementující IEnumerable — objekt, přes který se prochází.
  • Enumerator (enumerátor), který implementuje IEnumerator — objekt, který řídí iteraci přes kolekci.
  • Metoda MoveNext() — posune ukazatel na další prvek.
  • Vlastnost Current — vrací aktuální prvek kolekce.

Příklad, co se děje na pozadí:

IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // tělo cyklu foreach
}

Tímto způsobem foreach zjednodušuje práci s enumerátory, skrývá detaily volání GetEnumerator(), MoveNext() a přístupu k Current.