Sobes.tech
Junior — Middle

No kā sastāv iekšējā struktūra foreach operatorā C#?

sobes.tech AI

Atbilde no AI

C# iekšējā foreach operatora struktūra balstās uz IEnumerable saskarnes un tās GetEnumerator() metodes izmantošanu. Galvenie elementi:

  • Kolekcija, kas īsteno IEnumerable — objekts, pa kuru notiek iterācija.
  • Enumeratoris (IEnumerator īsteno) — objekts, kas pārvalda iterāciju pa kolekciju.
  • Metode MoveNext() — pārvieto indikatoru uz nākamo elementu.
  • Īpašība Current — atgriež pašreizējo elementu.

Piemērs, kas notiek aizkulisēs:

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

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // foreach cikla ķermenis
}

Tādējādi, foreach vienkāršo darbu ar enumeratoriem, slēpjot GetEnumerator(), MoveNext() un Current piekļuves detaļas.