Junior — Middle
Din ce elemente este formată structura internă a operatorului foreach în C#?
sobes.tech AI
Răspuns de la AI
Funcționarea internă a operatorului foreach în C# se bazează pe utilizarea interfeței IEnumerable și a metodei sale GetEnumerator(). Elementele principale:
- Colecție care implementează
IEnumerable— obiectul peste care se face iterația. - Enumerator (enumerator), care implementează
IEnumerator— obiectul care controlează iterația asupra colecției. - Metoda
MoveNext()— mută indicatorul la următorul element. - Proprietatea
Current— returnează elementul curent.
Exemplu despre ce se întâmplă în spate:
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// corpul buclei foreach
}
Astfel, foreach simplifică lucrul cu enumeratorii, ascunzând detaliile apelului la GetEnumerator(), MoveNext() și accesul la Current.