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.