我想知道为什么我不能在Func,Action和Predicate中使用三元运算符。
这是一个不编译的简单示例:
bool condition = true;
Action show = condition ? () => Console.Write("true") : () => Console.Write("false");
它说:
'lambda表达'和。之间没有隐式转换 'lambda表达'
我也不能做一个明确的演员:
Action show = (Action)(true ? () => Console.Write("true") : () => Console.Write("false"));