¿Puedo ignorar los parámetros de delegado con la sintaxis lambda?

Tengo curiosidad por qué C # me permite ignorar los parámetros de delegado en algunos casos, pero no en otros.

Por ejemplo, esto está permitido:

Action<int> action = delegate { Console.WriteLine("delegate"); };

pero esto no es:

Action<int> action = () => Console.WriteLine("lambda");

¿Hay alguna forma de inicializar un delegado e ignorar los parámetros con una lambda? Sé que puedo agregar un solo parámetro a la lambda y corregir la línea anterior, pero esta es más una pregunta académica relacionada con el compilador y por qué o cómo funciona esto.

Respuestas a la pregunta(7)

Su respuesta a la pregunta