Delegate void Message


Download 184.94 Kb.
bet5/11
Sana16.06.2023
Hajmi184.94 Kb.
#1516542
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
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 ob'ektidir. Ko'pincha natijada tanlanish var kalit so'zi yordamida aniqlanadi, so'ngra kompilyatorning o'zi kompilyatsiya vaqtida tur haqida xulosa chiqaradi.
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:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling