Можно ли использовать необязательные параметры / параметры по умолчанию в лямбда-выражении в c #?

Есть ли способ использоватьнеобязательные аргументы (параметры по умолчанию) слямбда-выражения в с #? Я прочитал документацию, но ничего не могу сказать так или иначе.

Чтобы проиллюстрировать это, я могу определить простой метод, который использует необязательный аргумент для предоставления значения по умолчанию, например:

void MyMethod(string arg = "default-value")
{ 
    Console.WriteLine(arg);
}

Я хочу знать, могу ли я сделать то же самое, используя лямбда-выражение.

// gives a syntax error
Action MyMethod = (arg = "default") => Console.WriteLine(arg);

Я могу работать с необязательным параметром со значением по умолчанию, используя делегат, но это кажется немного неуклюжим.

delegate void MyDelegate(string arg = "default");
MyDelegate MyMethod = arg => Console.WriteLine(arg);

В качестве альтернативы я мог бы проверить параметр в теле лямбды, что-то вроде ...

 Action MyMethod = (arg) => Console.WriteLine(string.IsNullOrEmpty(arg) ?
                                    "default" :
                                    arg);

Но опять же это кажется немного неуклюжим.

Можно ли использовать необязательные параметры для установки значения по умолчанию в лямбда-выражении в c #?

Ответы на вопрос(2)

Ваш ответ на вопрос