Diferença entre Func <> com expressão delegada e lambda [duplicata]

Esta pergunta já tem uma resposta aqui:

delegate keyword vs. notação lambda respostas

o me aprofundar nos recursos mais avançados do C #, deparei-me com um código que não conhecia exatamente a diferença. É sobre estas duas linhas:

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

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

Isso pode ser usado da mesma maneira:

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

Então, basicamente .. Qual é a diferença dessas duas linhas? E essas linhas estão compilando no mesmo CIL?

questionAnswers(2)

yourAnswerToTheQuestion