Sobes.tech
Junior — Middle

C# tilida foreach operatorining ichki tuzilmasi qanday elementlardan iborat?

sobes.tech AI

AIdan javob

C# tilida foreach operatorining ichki tuzilishi IEnumerable interfeysidan va uning GetEnumerator() metodidan foydalanishga asoslangan. Asosiy elementlar:

  • IEnumerableni amalga oshiradigan to'plam — takrorlash amalga oshiriladigan ob'ekt.
  • IEnumeratorni amalga oshiradigan enumerator — to'plam bo'ylab iteratsiyani boshqaradigan ob'ekt.
  • MoveNext() metodi — indeksni keyingi elementga o'tkazadi.
  • Current xususiyati — joriy elementni qaytaradi.

Qanday ishlashini misol bilan ko'rsatamiz:

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

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // foreach siklining tanasi
}

Shu tarzda, foreach enumeratorlar bilan ishlashni soddalashtiradi, GetEnumerator(), MoveNext() va Currentga kirishni yashiradi.