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.