Sobes.tech
Junior — Middle

Z akých prvkov sa skladá vnútorná štruktúra operátora foreach v C#?

sobes.tech AI

Odpoveď od AI

Vnútorná štruktúra operátora foreach v jazyku C# je založená na použití rozhrania IEnumerable a jeho metódy GetEnumerator(). Hlavné prvky:

  • Zbierka, ktorá implementuje IEnumerable — objekt, cez ktorý prebieha iterácia.
  • Enumerator (čítač), ktorý implementuje IEnumerator — objekt, ktorý riadi iteráciu cez zbierku.
  • Metóda MoveNext() — posunie ukazovateľ na ďalší prvok.
  • Vlastnosť Current — vracia aktuálny prvok zbierky.

Príklad, čo sa deje na pozadí:

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

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

Týmto spôsobom foreach zjednodušuje prácu s enumerátormi, skrýva detaily volania GetEnumerator(), MoveNext() a prístupu k Current.