Sie sind alle gleich. Die ersten beiden sind Beispiele für anonyme Methoden . Die letzte ist ein Beispiel für einen Lambda-Ausdruck . Anonyme Methoden und Lambda-Ausdrücke werden zusammen als anonyme Funktionen bezeichnet.
Anonyme Methoden wurden in C # 2 eingeführt; Lambda-Ausdrücke wurden in C # 3 eingeführt und meist anonyme Methoden ersetzt. Beachten Sie, dass Lambda-Ausdrücke auch in Ausdrucksbäume konvertiert werden können, die darstellen der Code als Daten und nicht als IL, sowie Delegierten.
Beachten Sie, dass Func<TResult>
, Func<T, TResult>
usw. nur Beispiele für Delegattypen sind. Sie können anonyme Funktionen in einen beliebigen kompatiblen Delegattyp konvertieren. Zum Beispiel:
Sie sind alle gleich - nur syntaktischer Zucker , der sich zu dem gleichen zusammensetzt.
Das ist - mit Type Inference und anderen Compiler Goodies ist 3 nur ein sehr kurzer Weg um 1 zu sagen.
Tags und Links c# syntax delegates func anonymous-function