Guruh talabasi Komilova Shahloning Algoritmik tillar va dasturlash fanidan


-§. LINQning kechiktirilan va zudlik bilan ijrosi



Download 253,48 Kb.
bet18/18
Sana26.05.2022
Hajmi253,48 Kb.
#609845
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
Komilova Shahlo ATD kurs ishi.doc

5-§. LINQning kechiktirilan va zudlik bilan ijrosi
So'rov o'zgaruvchisining o'zi hech narsa qilmasligini va hech qanday ma'lumotni qaytarmasligini tushunish muhimdir. U faqat natijalarni olish uchun zarur bo'lgan buyruqlar to'plamini saqlaydi. Ya'ni, so'rovni yaratishdan keyin bajarilishi kechiktiriladi. Natijalarni haqiqiy izlash foreach tsikli orqali takrorlash orqali amalga oshiriladi.
Bir qator usullar orqali biz so'rovning darhol bajarilishini ta'minlashimiz mumkin. Bular bitta atom qiymatini yoki bitta elementni qaytaradigan usullardir. Masalan, Count(), Average(), First() / FirstOrDefault(), Min()va Max()hokazo. Misol uchun, usul Count()natijadagi ketma-ketlikdagi elementlar sonini ifodalovchi raqamli qiymatni qaytaradi. Va usul First() ketma-ketlikning birinchi elementini qaytaradi. Lekin bu usullarni bajarish uchun avvalo ketma-ketlikning o'zini, ya'ni so'rov natijasini olishingiz va uni so'rov tuzilmasi ichida bilvosita chaqiriladigan foreach tsikli bilan o'tkazishingiz kerak.
Ketma- Count()ketlikdagi elementlar sonini qaytaradigan usul bilan misolni ko'rib chiqing :
qator [] jamoalar = {Bavariya, Borussiya, Real Madrid, Manchester Siti, PSJ, Barselona};
// LINQ so'rovini aniqlang va bajaring
int i = (jamoalarda t dan
bu erda t.ToUpper ().StarsWith ("B")
orderby t select t) .Count ();
Console.WriteLine (i); // 3
jamoalar [1] = Yuventus;
Console.WriteLine (i); // 3
Count usulining natijasi ob'ekt bo'ladi int, shuning uchun darhol bajarilish boshlanadi.
6-§. LINQ so’rovlarida delegatlar va anonym metodlar
Birinchidan, siz so'rovni yaratasiz: from t in teams where t.ToUpper().StartsWith("Б") orderby t select t. Keyin unga Count()so'rovni bajaradigan, ushbu so'rov tomonidan yaratilgan elementlar ketma-ketligini bilvosita takrorlaydigan va ushbu ketma-ketlikdagi elementlarning sonini qaytaradigan usul qo'llaniladi .
Shuningdek, biz kodni o'zgartirishimiz mumkin, shunda usul Count()o'zgarishlarni hisobga oladi va so'rov ta'rifidan alohida bajariladi:

“qator [] jamoalar = {Bavariya, Borussiya, Real Madrid, Manchester Siti, PSJ, Barselona};


// LINQ so'rovini aniqlang
var tanlanganTeams = dan t jamoalarda
bu erda t.ToUpper ().StarsWith ("B")
orderby t select t;
// so'rovni bajaring
Console.WriteLine (tanlanganTeams.Count ()); // 3
jamoalar [1] = Yuventus;
// so'rovni bajaring
Console.WriteLine (tanlanganTeams.Count ()); // 2
Shuningdek, LINQ-so'rovini zudlik bilan amalga oshirish va natijalarni keshlash uchun biz o'zgartirish usullarini qo'llashimiz mumkin ToArray(), ToList(), ToDictionary()va hokazo. Bu usullar mos ravishda Array, List va Dictionary ob'ektlari ko'rinishidagi so'rov natijasidir. Masalan:
qator [] jamoalar = {Bavariya, Borussiya, Real Madrid, Manchester Siti, PSJ, Barselona};
// LINQ so'rovini bajarish
var selectedTeams = (jamoalarda t dan
bu erda t.ToUpper ().StarsWith ("B")
orderby t select t) .ToList ();
// massivni o'zgartirish tanlangan jamoalar ro'yxatiga hech qanday ta'sir qilmaydi
jamoalar [1] = Yuventus;
foreach (tanlangan jamoalardagi s satrlar)
Console.WriteLine (lar);
LINQ so'rovlarida delegatlar va anonim usullar
LINQ kengaytma usullarida parametr sifatida lambda ifodalarini ishlatish odatda qulay bo'lsa-da. Ammo lambda iboralari anonim usullar uchun stenografiyadir. Va agar biz ushbu usullarning ta'rifiga murojaat qilsak, ularning ko'pchiligi Func
Where usuli qo'llaniladigan elementlar to'plami int ob'ektlarini o'z ichiga olganligi sababli, bu turdagi ob'ekt delegatga parametr sifatida uzatiladi. Qaytarilgan tur turini ifodalashi kerak bool: agar rost bo'lsa, int ob'ekti shartga javob beradi va tanlovga kiritiladi.
Muqobil yondashuv barcha mantiqni alohida usulga o'tkazishdir:
Select usuli parametr sifatida turni oladi Func selector. Bizda ob'ektlar to'plami mavjud intbo'lgani uchun delegatning kirish parametri ham int tipidagi ob'ekt bo'ladi. Chiqish parametrining turi sifatida int ni tanlaylik, chunki sonning faktoriali butun son qiymatdir.

Xulosa
Hozirgi zamonda yurtimizda Axborat Texnologiyalarini rivojlantirish yo’lida juda ko’p ishlar amalga oshirilmoqda. Xususan ko’p joylarda dasturlash orqali ko‘p loyihalar oson va qulay bajarilyapti. Dasturlash chet davlatlarida anchagina rivojlangan masalan Amerika, Malayziya, Koreya, Hindiston.Hozirgi kunda har-xil dasturlash tillari mavjud C++, C#, Java, va hokozo. Shularning orasidan C# Windows muhitida ishlaydigan dastur tuzish uchun qulay vosita bo’lib, kompyuterda dastur yaratish ishlarini avtomatlashtiradi, xatoliklarni kamaytiradi va dastur tuzuvchi ishini oshiradi kamchiliklarni kamaytiradi. C# dastur zamonaviy visual loyihalash texnalogiyasi asosida obyektga yo’naltirilgan dasturlash tili hisoblanadi.
Men bu kurs ishi davomida C# dasturlash tilida Console Application bo’limida LINQ so’rovlari bilan ishlash mavzusini kengroq yoritib berishga harakat qildim. LINQ so’rovlarining asosiy vazifalari va uning qulayligi haqida ham tushunarli bo’lishi uchn kengroq va aniqroq to’xtalib o’tdim .Bu kurs ishimda LINQ so’rovlari haqida ma’lumot berib dastur orqali vazifalarni tushuntirishga harakat qildim.


Foydalangan adabiyotlar.
1. Герберт Шилдт. C# 4.0: полное руководство.: Пер. с англ.М.: ООО ―И.Д. Вильямс, 2011.1056 с.
2. Джозеф Албахари и Бен Албахари C# 6.0.
3. Справочник. Полное описание языка, 6-е изд.: Пер. с англ. – М.: ООО ―И. Д. Вильямс, 2016. – 1040.
4. http://dastur.uz-Kompyuter dasrurlari va kompyuterda dasturlashga oid forum,xabar va yangiliklar.
5. Metanit.com sayiti va You Tube platformasi.


Download 253,48 Kb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   18




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish