Mavzu: C# tilida delegatlar, hodisalar va lambda ifodalardan foydalanish



Download 1,15 Mb.
bet10/11
Sana08.07.2022
Hajmi1,15 Mb.
#756659
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Boltaboyev Jamshid 202kidt

5
6

Xabar salom = () =>
{
Console Write ("Salom");
Console.WriteLine("Dunyo");
};
Salom(); // Salom Dunyo

Yuqorida biz xabar delegatini ifodalovchi salom o'zgaruvchisini aniqladik. Ammo C# 10 dan boshlab , lambda ifodasini belgilashda yashirin yozishdan ( var ifodasi bilan o'zgaruvchini aniqlash) foydalanishimiz mumkin :

1
2
3
4

var hello = () => Console.WriteLine("Salom");
Salom(); // Salom
Salom(); // Salom
Salom(); // Salom

Lekin bu holatda salom qaysi turni ifodalaydi? Yashirin terish bilan kompilyatorning o'zi ba'zi delegatlar bilan ta'rifi asosida lambda ifodasini moslashtirishga harakat qiladi. Misol uchun, yuqorida tavsiflangan standart salom lambda ifodasi kompilyator tomonidan hech qanday parametrlarni qabul qilmaydigan va hech narsa qaytarmaydigan o'rnatilgan Action delegatining o'zgaruvchisi sifatida ko'rib chiqiladi . Parametrlar ro'yxatini belgilashda biz ular uchun ma'lumotlar turini belgilamasligimiz mumkin:

1
2
3
4
5

Operation sum = (x, y) => Console.WriteLine($"{x} + {y} = {x + y}");
sum(1, 2); // 1 + 2 = 3
sum(22, 14); // 22 + 14 = 36
delegate void Operation(int x, int y);

Bunday holda, kompilyator yig'indisi lambda ifodasi Operatsiya turini ifodalashini ko'radi, ya'ni ikkala lambda parametri ham turni ifodalaydi int. Shuning uchun hech qanday muammo tug'ilmaydi. Biroq, agar biz yashirin yozishdan foydalansak, kompilyator lambda ifodasi uchun delegat turini xulosa qilishda qiyinchiliklarga duch kelishi mumkin, masalan, quyidagi holatda


Download 1,15 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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