Delegate void Message
Download 184.94 Kb.
|
Amaliyot ishi Dasturlash texnologiyalari
from o'zgaruvchi in ob'ektlar to'plami
select o’zgaruvchi; Xo'sh, bu LINQ so'rovi nima qiladi? From p in people ifoda people massivining barcha elementlarini takrorlaydi va har bir elementni p sifatida belgilaydi. p o'zgaruvchidan foydalanib, u bilan turli amallarni bajarishimiz mumkin. Biz p ning turini aniqlamasak ham, LINQ ifodalari kuchli tarzda kiritilgan. Ya'ni, atrof-muhit people to'plamining satr ob'ektlaridan iboratligini avtomatik ravishda tan oladi, shuning uchun p satr sifatida ko'rib chiqiladi. Keyin, where bandidan foydalanib, ob'ektlar filtrlanadi va agar ob'ekt mezonga mos keladigan bo'lsa (bu holda, bosh harf "T" bo'lishi kerak), u holda bu ob'ekt uzatiladi. Orderby operatori o'sish tartibida buyurtma beradi, ya'ni tanlangan ob'ektlarni tartiblaydi. Tanlash bayonoti tanlangan qiymatlarni LINQ ifodasi bilan qaytariladigan natijaviy tanlovga o'tkazadi. Bunday holda, LINQ ifodasining natijasi IEnumerable from … in … select sintaksisidagi standartga qo'shimcha ravishda biz LINQ so'rovini yaratish uchun IEnumerable interfeysi uchun belgilangan maxsus kengaytma usullaridan foydalanishimiz mumkin. Odatda, bu usullar qaerda yoki buyurtma berish kabi LINQ operatorlari bilan bir xil funksiyalarni amalga oshiradi. Masalan: string[] people = { "Tom", "Bob", "Sam", "Tim", "Tomas", "Bill" }; var selectedPeople = people.Where(p => p.ToUpper().StartsWith("T")).OrderBy(p => p); foreach (string person in selectedPeople) Console.WriteLine(person); People.Where(p=>p.ToUpper().StartsWith("T")).OrderBy(p => p) so'rovi avvalgisiga o'xshash bo'ladi. U Where va OrderBy usullari zanjiridan iborat. Bu usullar argument sifatida delegat yoki lambda ifodasini oladi. Garchi biz LINQ so'rovi operatorlari va LINQ kengaytma usullaridan foydalangan holda bir qator amallarni amalga oshirishimiz mumkin bo'lsa-da, LINQ operatorlari orasida har bir kengaytma usuli o'xshashiga ega emas. Bunday holda, ikkala yondashuv ham birlashtirilishi mumkin. Masalan, biz standart linq sintaksisi va tanlovdagi elementlar sonini qaytaruvchi Count() kengaytma usulidan foydalanamiz: int number = (from p in people where p.ToUpper().StartsWith("T") select p).Count(); Console.WriteLine(number); // 3 LINQ kengaytma usullari ro'yxati Select: tanlangan qiymatlarning proyeksiyasini belgilaydi Where: tanlash filtrini belgilaydi OrderBy: Buyurtmalarni ortib borish tartibida beradi OrderByDescending: Elementlarni kamayish tartibida buyurtma qiladi ThenBy: elementlarning ortib borayotgan tartibi uchun qo'shimcha mezonlarni belgilaydi ThenByDescending: Mahsulotlarni kamayish tartibida buyurtma qilish uchun qo'shimcha mezonlarni belgilaydi Join: ma'lum bir atributga ko'ra ikkita to'plamni birlashtiradi Agregat: ketma-ketlik elementlariga ularni bitta ob'ektga kamaytiradigan agregat funksiyasini qo'llaydi GroupBy: elementlarni kalit bo‘yicha guruhlash ToLookup: Barcha elementlar lugʻatga qoʻshilgan holda elementlarni kalit boʻyicha guruhlaydi GroupJoin: To'plamlarni birlashtirish va elementlarni kalit bo'yicha guruhlashni amalga oshiradi Reverse: elementlarni teskari tartibda joylashtiradi All: to'plamning barcha elementlari ma'lum shartni qondiradimi yoki yo'qligini aniqlaydi Any: to'plamning kamida bitta elementi ma'lum bir shartni qondiradimi yoki yo'qligini aniqlaydi Contains: to'plamda ma'lum bir element mavjudligini aniqlaydi Distinct: to'plamdan takroriy elementlarni olib tashlaydi Except: ikkita to'plamning farqini qaytaradi, ya'ni faqat bitta to'plamda yaratilgan elementlar Union: ikkita bir hil to'plamni birlashtiradi Intersect: ikkita to'plamning kesishishini, ya'ni ikkala to'plamda uchraydigan elementlarni qaytaradi Count: to'plamdagi ma'lum shartni qondiradigan elementlar sonini hisoblaydi Sum: to'plamdagi raqamli qiymatlar yig'indisini hisoblab chiqadi Avarage: to'plamdagi raqamli qiymatlarning o'rtacha qiymatini hisoblab chiqadi Min: minimal qiymatni topadi Maks: maksimal qiymatni topadi Take: ma'lum miqdordagi elementlarni tanlaydi Skip: ma'lum miqdordagi elementlarni o'tkazib yuboradi TakeWhile: shart rost bo'lsa, ketma-ketlik elementlari zanjirini qaytaradi SkipWhile: berilgan shartni qondirar ekan, ketma-ketlikdagi elementlarni o‘tkazib yuboradi va keyin qolgan elementlarni qaytaradi. Concat: ikkita to'plamni birlashtiradi Zip: ma'lum bir shartga ko'ra ikkita to'plamni birlashtiradi First: to'plamning birinchi elementini tanlaydi FirstOrDefault: to'plamning birinchi elementini tanlaydi yoki standart qiymatni qaytaradi Single : to'plamning yagona elementini tanlaydi, agar to'plamda bir nechta yoki kamroq element bo'lsa, istisno chiqariladi SingleOrDefault: To'plamdagi yagona elementni tanlaydi. To'plam bo'sh bo'lsa, standart qiymatni qaytaradi. To'plamda bir nechta element bo'lsa, istisno qiladi ElementAt: ma'lum bir indeksdagi ketma-ketlik elementini tanlaydi ElementAtOrDefault: To'plam elementini ma'lum bir indeksda tanlaydi yoki indeks diapazondan tashqarida bo'lsa, standart qiymatni qaytaradi Last: to'plamning oxirgi elementini tanlaydi LastOrDefault: to'plamning oxirgi elementini tanlaydi yoki standart qiymatni qaytaradi Download 184.94 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling