Lambda-ifodalaridan foydalanish metodlari




Download 1 Mb.
bet2/9
Sana13.02.2024
Hajmi1 Mb.
#156042
1   2   3   4   5   6   7   8   9
Bog'liq
37-mavzu

1.2 Lambda-ifodalaridan foydalanish metodlari

Barcha lambda ifodalari uni ikki qismga ajratadigan lambda operatori (ya’ni “ => ”) dan foydalanadi. Lambda operatori (ya’ni =>) tayinlash operatori bilan bir xil ustuvorlikka ega va = ga to'g'ri assotsiativdir. Lambda operatori lambda ifodalarini e'lon qilish uchun ishlatiladi va LINQ so'rovlarida keng qo'llaniladi. Kirish parametri (yoki bir nechta parametrlar) chap tomonda, lambda ifodasi tanasi esa o'ng tomonda ko'rsatilgan bo’ladi.

string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min((string w) =>w.Length); //5

LINQ kengaytmalarida yoki so'rovlarda foydalanilganda ob'ektlarning turini odatda kompilyator tomonidan taxmin qilinganidek o'tkazib yuborish mumkin:

int shortestWordLength = words.Min(w =>w.Length);


//xuddi shu natija bilan kompilyatsiya qiladi

Lambda operatorining umumiy shakli quyidagicha.

(kiritish parametrlari) => ifoda


Lambda ifoda parametrlari => operatoridan oldin ko'rsatilgan va amaldagi ifoda / bayonot / blok operatorning o'ng tomonida joylashgan bo’ladi:
// ifoda
(int x, string s) =>s.Length >x

// ifoda
(int x, int y) =>x + y

// bayonot

(string x) =>Console.WriteLine(x)



// blok

(string x) =>


{

x += " Salom!";

Console.WriteLine(x);

}
Ushbu operator aniq metod yozmasdan, delegatlarni osongina aniqlash uchun ishlatilishi mumkin:


delegate void TestDelegate(string s);

TestDelegate myDelegate = s =>Console.WriteLine(s + "alaykum!");

myDelegate("Assalomu ");
o‘rniga
void MyMethod(string s)

{

Console.WriteLine(s + " alaykum!");



}
delegate void TestDelegate(string s);
TestDelegate myDelegate = MyMethod;
myDelegate("Assalomu ");
Lambda operatori ba'zan "o'tib ketadi" yoki "bo'ladi" kabi so'zlar bilan tavsiflanadi. C# dasturlash tili lambda ifodasining o'ziga qarab lambda ifodalarining ikkita turini qo'llab-quvvatlaydi.
Lambda ifodalari - bu noma'lum usullarning kengaytmasi bo'lib, ular aniq kiritilmagan parametrlar va qiymatlarni qaytarishga imkon beradi. Ularning sintaksisi anonim usullarga qaraganda kamroq verbal bo'lib, funktsional dasturlash uslubiga amal qiladi.


Download 1 Mb.
1   2   3   4   5   6   7   8   9




Download 1 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Lambda-ifodalaridan foydalanish metodlari

Download 1 Mb.