为什么下面的
代码行不能在一个
方法中工作?
return (count > 0) ? true : false;
如果我这样做,它的工作效果很好:
bool ret = (count > 0) ? true : false;
return ret;
奖金问题:它是否比标准的if语句更快或更有效?
bool ret = false;
if(count > 0)
ret = true;
return ret;
你会推荐哪一个?
我会建议:
return count > 0;
没有必要显式返回true或false.
话虽如此,你的编译错误让我感到意外.一见钟情似乎应该会奏效.你可以发布一个简短但完整的示例,无法编译吗?该条件表达式的类型应该是bool,没有问题.我的猜测是你有一个更复杂的场景,简单的例子你已经删除了真正的问题.
至于奖金问题:我不知道哪一个会更快,也不关心99.99%的情况.我很惊讶地发现,它引起了任何重大的延误,除非它由于某种原因禁止内联.寻求最可读的解决方案 – 这是简单的返回语句,IMO.