9-Mavzu: Kolleksiya va iteratorlar tushunchasi, ular foydalanish.
9-Mavzu
9-Mavzu
Reja: 1. Iteratorlardan foydalanish. 2. Iteratorning uzilishi. 3. Bir nechta yield operatorlarini qo'llash.
1. Iteratorlardan foydalanish.
Oldingi misollardan ko'rinib turibdiki, IEnumeratorva IEnumerableinterfeyslarini amalga oshirish qiyin emas. Iteratordan operator yoki aksessor yordanida metod yaratish orqali ob'ektlarning umumiy a'zolarini boshidan oxirigacha qaytarish navbat bilan foydalanish osonroq bo`ladi. Agar qandaydir bir massiv beshta elementdan iborat bo'lsa, unda bu ketma-ketlikning iteratori elementlarning hammasini navbati bilan qaytaradi. Iteratorni amalga oshirilganidan so'ng, foreachfoydalanuvchi tomonidan aniqlangan sinf ob'ektlariga murojaat qilishi mumkin Keling, iteratorning oddiy misoliga murojaat qilaylik. Quyidagi dastur oldingi dasturning o'zgartirilgan versiyasidir, unda IEnumeratorva IEnumerableinterfeyslarini amalga oshirish o'rniga iterator qo'llaniladi. // Iteratordan foydalanishning oddiy namunasi. using System; using System.Collections; class MyClass { char[] chrs = { 'A', 'B\ 'C, 'D' }; // Bu iterator chrs belgili massiv elementlarini qaytaradi. public IEnumerator GetEnumerator() { foreach(char ch in chrs) yield return ch; } } class ItrDemo { static void Main() { MyClass mc = new MyClass (); foreach(char ch in mc)