Vazirligi mirzo ulug‘bek nomidagi o‘zbekiston milliy




Download 291 Kb.
bet5/6
Sana23.01.2024
Hajmi291 Kb.
#143758
1   2   3   4   5   6
Bog'liq
Mustaqil ish MAXKAMBOYEVA MUQADDAS RAXMATULLO QIZI

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 291 Kb.
1   2   3   4   5   6




Download 291 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Vazirligi mirzo ulug‘bek nomidagi o‘zbekiston milliy

Download 291 Kb.