delegate void Temsilci(int a);delegate int IslemHandler(int a,int b);
Temsilci t = delegate(int a){Console.WriteLine(a * a);};
Bunu lambda operatoru ile yazarsak;
Temsilci t2 = (int a) =>{Console.WriteLine(a*a);};
Lambda kolayliklarindan faydalanmadik henuz.
Lambda ile kisaca yazmak istersek;
Temsilci t3 = a =>Console.WriteLine(a * a);
Lambda operatoru ile yapilan kisaltmalarda su maddeler dikkate alinir:
- Parametrelerin tiplerini soylememize gerek yok delegeden biliyo imzasini.
- Tek parametre varsa parantezlere gerek yok.
- Metodun icinde tek satir kod varsa suslu parantezlere de gerek yok.
Lambda operatorunu geri deger donen anonim metotlarda da kullanabiliriz;
IslemHandler islem = (int a, int b) =>{return a + b;};
veya daha kisa yazarsak
IslemHandler islem2 = (a, b) => a + b;
delege baglama olayi da su sekilde gerceklesiyor.
islem2 += (a, b) => a * b;