|
Iteratorlar va ularning turlari Sanjarbek
|
bet | 3/3 | Sana | 12.10.2024 | Hajmi | 1,48 Mb. | | #274824 |
Bog'liq Taqdimot(@slaydai bot)-1... t.me/slaydai_bot
C++ tilida iteratsiya qilish mexanizmi takroriy jarayonlarni amalga oshirish uchun ishlatiladi. Asosiy iteratsiya konstruktsiyalari for, while va do-while tsikllaridir. For tsikli odatda aniqlash bosqichi, shart tekshirish va yangilash amallaridan iborat. Masalan, `for (int i = 0; i < 10; i++) { /* kod */ }` juda ko'p ishlatiladi. While tsikli esa `while (shart) { /* kod */ }` ko‘rinishida bo‘lib, shart to‘g‘ri ekanligida takrorlanadi. Do-while tsikli `do { /* kod */ } while (shart);` shaklida bo‘lib, birinchi marta shart tekshirilmasdan bajariladi. Iteratsiya sxemasi ma’lum sonli yoki aniq shartga ko‘ra belgilangan takrorlashda yordam beradi, masalan massivlar elementlari ustida ishlashda. Shuningdek, C++ 11 dan boshlab `for`-each tsikli (`for (int n : arr) { /* kod */ }`) kiritildi, bu har bir element ustida iteratsiya qilish uchun qulaydir. Bu mexanizmlar kodning qisqarligi va aniqligini ta’minlaydi.
... t.me/slaydai_bot
7. .NETda IEnumerable va IEnumerator
`.NET`da `IEnumerable` va `IEnumerator` interfeyslari kolleksiyalar ustida ishlashni osonlashtiradi. `IEnumerable` interfeysi kolleksiyani takrorlash uchun umumiy interfeys bo‘lib, `GetEnumerator` metodini o‘z ichiga oladi. Bu metod `IEnumerator` interfeysini qaytaradi. `IEnumerator` interfeysi esa kolleksiyadagi elementlarni birma-bir o‘tish uchun ishlatiladi. U `Current` xususiyati bilan joriy elementni, `MoveNext` metodi bilan keyingi elementga o‘tishni va `Reset` metodi bilan boshiga qaytishni ta’minlaydi. `.NET`da `foreach` sikli `IEnumerable` interfeysi va `IEnumerator` ob'ektlari yordamida amalga oshiriladi. `IEnumerable` kolleksiyalarni umumlashtirsa, `IEnumerator` ularni bosqichma-bosqich ko‘rib chiqadi. Bu interfeyslar ma’lumotlarga ketma-ket kirishni boshqarishda asosiy rol o‘ynaydi. `IEnumerator` ob'ektlari faqat bir martalik o‘tishni ta’minlaydi, qayta ishga tushirish uchun esa yangi `IEnumerator` yaratish zarur bo‘ladi.
Sanjarbek
E'tiboringiz uchun raxmat!
|
| |