Мне любопытно, почему С# позволяет мне игнорировать параметры делегата в некоторых случаях, но не другие.
Например, это разрешено:
Action<int> action = delegate { Console.WriteLine("delegate"); };
но это не так:
Action<int> action = () => Console.WriteLine("lambda");
Есть ли способ инициализировать делегат и игнорировать параметры с помощью лямбда? Я знаю, что я могу добавить один параметр в лямбда и исправить предыдущую строку, но это скорее академический вопрос, относящийся к компилятору, и почему и как это работает.