Sobes.tech
Junior — Middle

Kokius elementus sudaro foreach operatoriaus vidinė struktūra C#?

sobes.tech AI

Atsakymas iš AI

C# kalboje foreach operatoriaus vidinė struktūra grindžiama IEnumerable sąsajos ir jos GetEnumerator() metodo naudojimu. Pagrindiniai elementai:

  • Kolekcija, įgyvendinanti IEnumerable — objektas, per kurį vyksta iteracija.
  • Enumeratorius (IEnumerator įgyvendinantis) — objektas, valdantis iteraciją per kolekciją.
  • Metodas MoveNext() — perkelia rodyklę į kitą elementą.
  • Savybė Current — grąžina dabartinį elementą.

Pavyzdys, kas vyksta užkulisiuose:

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

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // foreach ciklo turinys
}

Taip foreach supaprastina darbą su enumeratoriais, paslėpdama GetEnumerator(), MoveNext() ir prieigos prie Current detales.