Проблема не в лямбде, а в том, что второе и третье выражение в троичном операторе должно что-то возвращать. Console.WriteLine
имеет void
тип возврата и не может быть использован, как вы пытаетесь. Решение состоит в том, чтобы поместить троичный оператор внутри вызова в Console.WriteLine
:
Console.WriteLine(str == null ? "isnull" : "isnotnull")
Вы можете использовать это выражение в своей лямбде.