Entwickler-Ecke
C# - Die Sprache - Lambda Ausdruck
kostonstyle - Mi 14.10.09 13:47
Titel: Lambda Ausdruck
Hallo miteinander
habe eine Frage zu lambda Ausdrücke, hier beispiele
C#-Quelltext
1: 2:
| Func<int> f1 = () => number * 2; Func<int, int> f2 = x => x + 1; |
Erhalte ich am Schluss nicht eine Zahl? Mit Lambda Ausdruck drückt man etwas aus und erhält dabei das Resultat.
Danke kostonstyle
Kha - Mi 14.10.09 13:58
Nein. Du erhältst eine
Funktion zurück (genauer gesagt einen Delegate).
C#-Quelltext
1:
| Func<int, int> f2 = x => x + 1; |
ist äquivalent zu
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| int F2(int x) { return x + 1; }
...
Func<int, int> f2 = F2; |
Der Aufruf
f2(42) liefert dann einen int zurück, genauso wie
F2(42).
Damit ist das Thema natürlich nur angerissen, für detailiertere Erklärungen würde ich eher zu (Online-) Büchern wie das Open Book C# von Galileo greifen.
kostonstyle - Do 15.10.09 07:53
Ok, habe jetzt einiger Masse verstanden. Ein Delegate definiert man, um während der Laufzeit eine Methode zuzuweisen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!