Getenumerator()metodini aniqlaydi, kolleksiyaning har qanday klassi uchun ro'yxatini taqdim etadi
IEnumerator
Kolleksiya tarkibini navbati bilan olish imkonini beruvchi metodlarni taqdim etadi
IEqualityComparer
Ikkita ob'ektni solishtiradi tenglik shartiga tekshiradi
IHashCodeProvider
Bu eskirgan hisoblanadi. Buning o'rniga, IEqualityComparer interfeysidan foydalaniladi
IList
Indeksator yordamida kirish mumkin bo'lgan kolleksiyani aniqlaydi
IStructuralComparable
Strukturaviy taqqoslash uchun ishlatiladigan CompareTo()metodini aniqlaydi
IStructuralEquatable
Tizimli va mos yozuvlar tengligini aniqlash uchun ishlatiladigan Equals()metodini aniqlaydi. Bundan tashqari, GetHashCode()metodini belgilaydi
Nazorat savollari
Kolleksiya nima?
Kolleksiyaga misollar keltiring.
Iterator nima?
Itoratorlarga misol keltiring.
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)