Expresión Lambda versus Declaración Lambda

Fundamentalmente, ¿hay alguna diferencia entre una expresión de línea única lambda y una declaración lambda? Tome el siguiente código, por ejemplo:

private delegate void MyDelegate();

protected static void Main()
{
    MyDelegate myDelegate1 = () => Console.WriteLine("Test 1");
    MyDelegate myDelegate2 = () => { Console.WriteLine("Test 2"); };

    myDelegate1();
    myDelegate2();

    Console.ReadKey();
}

Aunque prefiero el primero porque considero que los corchetes son feos, ¿hay algo diferente entre los dos (además de la parte obvia de requerir corchetes para declaraciones de varias líneas)?

Respuestas a la pregunta(14)

Su respuesta a la pregunta