Sobes.tech
Junior — Middle

Таркиби дохили оператори foreach дар C# аз кадом унсурҳо иборат аст?

sobes.tech AI

Ҷавоб аз AI

Құпиялылық құрылымы foreach операторінің C#-да IEnumerable интерфейсін және оның GetEnumerator() әдісін пайдалану негізінде құрылады. Негізгі элементтері:

  • IEnumerable жүзеге асыратын жинақ — қайталанатын объект.
  • Есептегіш (enumerator), IEnumerator жүзеге асыратын — жинақ бойынша қайталау басқарушы объект.
  • MoveNext() әдісі — көрсеткішті келесі элементке жылжытады.
  • Current қасиеті — ағымдағы элементті қайтарады.

Қалай жұмыс істейтіні туралы мысал:

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

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // foreach циклінің денесі
}

Осылайша, foreach қайталаушылармен жұмыс істеуді жеңілдетеді, GetEnumerator(), MoveNext() және Current-қа қол жеткізуді жасырады.