O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi farg’ona davlat universiteti kurs ishi mavzu: C# dasturlash tilida dasturlashda lambda-ifodadan foydalanish bajardi


III-BOB. LAMBDA-IFODALAR VA MAHALLIY FUNKSIYALAR



Download 229,99 Kb.
bet12/13
Sana31.12.2021
Hajmi229,99 Kb.
#276575
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi f

III-BOB. LAMBDA-IFODALAR VA MAHALLIY FUNKSIYALAR

3.1 Lambda ifodalari va mahalliy funksiyalarni taqqoslash


Bir qarashda mahalliy funksiyalar va lambda ifodalari juda o'xshash. Ko'pgina hollarda lambda ifodalari va mahalliy funksiyalarni  tanlash uslubi va shaxsiy xohishga bog'liq bo’ladi. Biroq, siz bilishingiz kerak bo'lgan birini yoki boshqasini ishlatishingiz mumkin bo'lgan haqiqiy farqlar mavjud.

Mahalliy funksiyalar nomlarga egaLambda iboralari anonim usul bo'lib, ular Func yoki Action turlarga bo'linadi. 



Mahalliy funksiyani e'lon qilganingizda, argument turlari va qaytish turi funksiya deklaratsiyasining bir qismidir. Lambda ifodasi tanasining bir qismi bo'lish o'rniga, argument turlari va qaytish turi lambda ifodasining o'zgaruvchan turi deklaratsiyasining bir qismidir. 

Mahalliy funksiyalar lambda iboralariga qaraganda aniq tayinlash uchun turli xil qoidalarga ega. Mahalliy funksiya deklaratsiyasiga har qanday kod joylashgan joyda murojaat qilish mumkin. Lambda ifodasi o'zgaruvchiga kirishdan oldin unga tayinlanishi kerak (yoki lambda ifodasiga murojaat qiladigan vakil orqali chaqiriladi.) Ushbu farqlar shuni anglatadiki, rekursiv algoritmlarni mahalliy funksiyalar yordamida yaratish osonroq. O'zini chaqiradigan mahalliy funksiyani e'lon qilishingiz va belgilashingiz mumkin. Lambda ifodalari e'lon qilinishi kerak va bir xil lambda ifodasiga murojaat qiladigan tanaga qayta tayinlanishidan oldin standart qiymat belgilanishi kerak.

Belgilangan tayinlash qoidalari, shuningdek, mahalliy funksiya yoki lambda ifodasi bilan olingan har qanday o'zgaruvchiga ta'sir qiladi. Ikkala mahalliy funksiyalar va lambda ifoda qoidalari har qanday qo'lga kiritilgan o'zgaruvchilar mahalliy funksiya yoki lambda ifodasi delegatga aylantirilganda aniq belgilanishini talab qiladi. Farqi shundaki, lambda ifodalari ular e'lon qilinganida delegatlarga aylantiriladi. Mahalliy funksiyalar faqat vakil sifatida ishlatilganda va delegatlarga aylantiriladi. Agar siz mahalliy funksiyani e'lon qilsangiz va uni faqat metod kabi chaqirib murojaat qilsangiz, u vakilga aylantirilmaydi. Ushbu qoida mahalliy funksiyani o'z ichiga qamrab oladigan har qanday qulay joyda e'lon qilish imkoniyatini beradi. Qayta tiklash bayonotlaridan so'ng mahalliy funktsiyalarni asosiy usul oxirida e'lon qilish odatiy holdir.

Uchinchidan, kompilyator mahalliy funksiyalarni o'rab turgan doirada aniqlangan parametrlarni aniq belgilashga imkon beradigan statik tahlilni amalga oshirishi mumkin. Ushbu misolni ko'rib chiqing:



int M()

{

int y;

LocalFunction();

return y;
void LocalFunction() => y = 0;

}

Mahalliy funksiyalar lambda ifodalariga nisbatan ortiqcha tuyulishi mumkin bo'lsa-da, aslida turli xil maqsadlarda qo'llaniladi. Mahalliy funksiyalar faqat boshqa metodning kontekstidan chaqiriladigan funksiyani yozishni istagan holatlar uchun samaraliroq bo'ladi.



Download 229,99 Kb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




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