Delegates gibt es schon in C#, aber mit dem Lambda Operator (=>) geht das nun kürzer.
Folgendes generisches Beispiel (bisher):
CSharp
-
delegate T Func(T t);
-
Func funcDel = delegate(int x)
-
{
-
return x + x;
-
}
-
Console.WriteLine(funcDel(5));
Äquivalent mit Lampda Operator:
CSharp
-
Func lambda = x => x + x;
-
Console.WriteLine(lambda(5));




Scheiss Beschreibung, da keines der beiden kompiliert.
Wenn man es nicht erklären kann, soll man es lassen.
Comment by batman — Monday, 6. October 2008 um 14:12 Uhr
class Program { delegate T Func<T>(T t); static void Main(string[] args) { Func<int> funcDel = delegate(int x) { return x + x; }; Console.WriteLine(funcDel(5)); Func<int> lambda = x => x + x; Console.WriteLine(lambda(5)); Console.ReadLine(); } }Das sollte unter C# 3.0 kompilieren.
Comment by Steffen Forkmann — Monday, 6. October 2008 um 15:27 Uhr
Die F#-Variante ist übrigens noch schöner:
Comment by Steffen Forkmann — Monday, 6. October 2008 um 15:34 Uhr