ienumerable va ienumerator interfeyslari bilan ishlash haqida taqdimot

DOCX 3 стр. 23,1 КБ Бесплатная загрузка

Предварительный просмотр (3 стр.)

Прокрутите вниз 👇
1 / 3
100c# ie numerable va ie numerator interfeyslari bilan ishlash-ko'rib turganimizdek, ko'pchilik to'plamlarning o'zagi ienumerable va ienumerator interfeyslarini amalga oshirishdir. ushbu amalga oshirish tufayli biz foreach tsiklidagi ob'ektlarni takrorlashimiz mumkin: foreach(var item in enum_ob’ekt) { } takrorlanayotgan to'plam ienumerable interfeysini amalga oshirishi kerak. ienumerable interfeysi boshqa interfeysga havolani qaytaradigan usulga ega - hisoblagich: public interface ienumerable { ienumerator getenumerator(); } va ienumerator interfeysi konteynerdagi ichki ob'ektlarni takrorlash uchun funksionallikni belgilaydi: public interface ienumerator { bool movenext(); // element konteynerida bir pozitsiya oldinga siljish object current {get;} // konteynerdagi joriy element void reset(); // konteynerning boshiga o'tish } movenext() usuli kursorni joriy elementga ketma-ketlikdagi keyingi holatga olib boradi. agar ketma-ketlik hali tugamagan bo'lsa, true qiymatini qaytaradi. agar ketma-ketlik tugasa, false qaytariladi. current xossasi ob'ektni ko'rsatgich tomonidan ko'rsatilgan ketma-ketlikda qaytaradi. reset() usuli pozitsiya ko'rsatkichini dastlabki holatiga qaytaradi. ko'rsatkich qanday aniq ko'chirilishi va elementlarning qabul qilinishi interfeysni amalga oshirishga bog'liq. turli xil ilovalarda mantiqni …
2 / 3
urda keltirilgan: using system.collections; week week = new week(); foreach (var day in week) { console.writeline(day); } class week : ienumerable { string[] days = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" }; public ienumerator getenumerator() => days.getenumerator(); } bu holda haftani ifodalovchi va haftaning barcha kunlarini saqlaydigan week klassi ienumerable interfeysini amalga oshiradi. biroq, bu holda, biz buni juda oddiy qildik - ienumeratorni amalga oshirish o'rniga, biz getenumerator usulidagi massiv uchun ienumerator ob'ektini shunchaki qaytardik. public ienumerator getenumerator() => days.getenumerator(); buning yordamida biz haftaning barcha kunlarini foreach tsiklida takrorlashimiz mumkin. shu bilan birga, shuni ta'kidlash kerakki, to'plamni foreach yordamida takrorlash uchun ienumerable interfeysini amalga oshirish printsipial jihatdan shart emas. ienumerator ob'ektini qaytaradigan sinfda umumiy getenumerator usulini aniqlash kifoya. masalan: class week { string[] days = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" }; public ienumerator getenumerator() =>days.getenumerator(); } biroq, bu juda oddiy edi - biz shunchaki tayyor …
3 / 3
alki ienumeratorni amalga oshiradigan weekenumeratordan foydalanadi. hisoblagichni amalga oshirishning asosiy nuqtasi ko'rsatgichni elementga o'tkazishdir. weekenumerator klassi joriy pozitsiyani saqlash uchun pozitsiya o'zgaruvchisini belgilaydi. shuni hisobga olish kerakki, eng boshida (dastlabki holatda) ko'rsatgich shartli ravishda birinchi elementdan oldingi holatga ishora qilishi kerak. foreach sikli bajarilganda, bu sikl birinchi navbatda movenext usulini chaqiradi va aslida ko'rsatgichni bir pozitsiya old tomonga siljitadi va shundan keyingina elementni joriy holatda olish uchun current xususiyatiga kiradi.

Хотите читать дальше?

Скачайте все 3 страниц бесплатно через Telegram.

Скачать полный файл

О "ienumerable va ienumerator interfeyslari bilan ishlash haqida taqdimot"

100c# ie numerable va ie numerator interfeyslari bilan ishlash-ko'rib turganimizdek, ko'pchilik to'plamlarning o'zagi ienumerable va ienumerator interfeyslarini amalga oshirishdir. ushbu amalga oshirish tufayli biz foreach tsiklidagi ob'ektlarni takrorlashimiz mumkin: foreach(var item in enum_ob’ekt) { } takrorlanayotgan to'plam ienumerable interfeysini amalga oshirishi kerak. ienumerable interfeysi boshqa interfeysga havolani qaytaradigan usulga ega - hisoblagich: public interface ienumerable { ienumerator getenumerator(); } va ienumerator interfeysi konteynerdagi ichki ob'ektlarni takrorlash uchun funksionallikni belgilaydi: public interface ienumerator { bool movenext(); // element konteynerida bir pozitsiya oldinga siljish object current {get;} // konteynerdagi joriy element void reset...

Этот файл содержит 3 стр. в формате DOCX (23,1 КБ). Чтобы скачать "ienumerable va ienumerator interfeyslari bilan ishlash haqida taqdimot", нажмите кнопку Telegram слева.

Теги: ienumerable va ienumerator inte… DOCX 3 стр. Бесплатная загрузка Telegram