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-қа қол жеткізуді жасырады.