Differenz zwischen Func <> mit Delegat- und Lambda-Ausdruck [duplizieren]

Diese Frage hat hier bereits eine Antwort:

delegate keyword vs. lambda notation 6 answers

ährend ich mich mit den erweiterten Funktionen von C # vertiefte, stieß ich auf Code, dessen Unterschied ich nicht genau kannte. Es geht um diese beiden Zeilen:

Func<string, int> giveLength = (text => text.Length);

un

Func<string, int> giveLength = delegate(string text) { return text.Length; };

Dies kann auf die gleiche Weise verwendet werden:

Console.WriteLine(giveLength("A random string."));

Also im Grunde .. Was ist der Unterschied zwischen diesen beiden Zeilen? Und werden diese Zeilen in dieselbe CIL kompiliert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage