考虑这段代码:
Func<int, bool> TestGreaterThanOne = delegate(int a) {
if (a > 1) return (true);
else return(false);
};
在上面的代码中,我无法删除“else return(false)”语句——编译器警告说并非所有代码路径都返回一个值。但是在下面的代码中,它使用了一个 lambda...
Func<int, bool> TestGreaterThanOne = a => a > 1;
我不必有“else”语句 - 没有编译器警告并且逻辑按预期工作。
这里有什么机制使我的 lambda 中没有“else”语句?