Sobes.tech
Junior — Middle

C# тилиндеги foreach операторунун ички түзүмү кандай элементтерден турат?

sobes.tech AI

AIден жооп

C# тилиндеги foreach операторунун ички түзүлүшү 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ка кирүүнү жашырып турат.