2. 2§. Indeksatorning turi va uning parametrlari turlari haqida
Download 0.67 Mb.
|
19.08 A Tojiyeva Saboxon Dasturlash kurs ishi
3-misolUshbu misolda System.DayOfWeek ro'yxati yordamida hafta kunlari nomlarini saqlaydigan sinf e'lon qilinadi . Erişimci kun (nomini oladi , bir mag'lubiyatga qiymati sifatida) va tegishli aniq son qaytaradi. Masalan, 0 ga , 1 ga qaytariladi va hokazo. getDayOfWeek DayOfWeek.SundayDayOfWeek.Monday C #Nusxalash using System; using Day = System.DayOfWeek; class DayOfWeekCollection { Day[] days = { Day.Sunday, Day.Monday, Day.Tuesday, Day.Wednesday, Day.Thursday, Day.Friday, Day.Saturday }; // Indexer with only a get accessor with the expression-bodied definition: public int this[Day day] => FindDayIndex(day); private int FindDayIndex(Day day) { for (int j = 0; j < days.Length; j++) { if (days[j] == day) } } 2.3§.Indeksatorlarda obyektni indekslash. Indeksatorlar sizga ob'ektlarni indekslash va ma'lumotlarga indeks bo'yicha kirish imkonini beradi. Aslida, indeksatorlar yordamida biz massivlar singari ob'ektlar bilan ishlashimiz mumkin. Ular shakl jihatidan qurilish bloklari xususiyatlariga o'xshashdir getva setular qiymatni qaytarib beradi. Indeksatorning rasmiy ta'rifi: Xususiyatlardan farqli o'laroq, indeksatorning nomi yo'q. Buning o'rniga, kalit so'z , bu bo'ladi ko'rsatilgan kvadrat qavs ichida parametrlari tomonidan ta'qib. Indeksator kamida bitta parametrga ega bo'lishi kerak. Keling, bir misolni ko'rib chiqaylik. Aytaylik, bizda shaxsni ifodalovchi Person klassi va odamlar guruhini ifodalovchi People sinfimiz bor. People sinfini aniqlash uchun indeksatorlardan foydalanish: Qurilish public Person this[int index]va indeksatorni ifodalaydi. Bu erda biz birinchi navbatda qaytarilgan yoki tayinlangan ob'ekt turini, ya'ni Person tipini aniqlaymiz. Ikkinchidan, parametr orqali int indexelementlarga kirish usulini aniqlaymiz . Asosan barcha Person ob'ektlari sinfda ma'lumotlar qatorida saqlanadi. Ularni indeks bo'yicha olish uchun indeksatorda get bloki aniqlanadi: Indeksator Person tipidagi bo'lgani uchun, biz return operatori yordamida get tipidagi ushbu turdagi ob'ektni qaytarishimiz kerak. Bu erda biz turli xil mantiqni aniqlashimiz mumkin. Bunday holda, biz shunchaki ma'lumotlar qatoridan ob'ektni qaytaramiz. O'rnatilgan blokda biz qiymat parametri orqali uzatilgan Person ob'ektini olamiz va indeks bo'yicha massivga saqlaymiz.
Shundan so'ng biz People ob'ekti bilan Person ob'ektlari to'plami sifatida ishlashimiz mumkin:
Indeksator kutilganidek parametrlar ko'rinishidagi indekslar to'plamini oladi. Biroq, indekslar int bo'lishi shart emas. Masalan, biz ob'ektni mulk do'koni deb o'ylashimiz va ob'ektning atributi nomini satr sifatida berishimiz mumkin:
Download 0.67 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling