这个问题更多的是性能问题而不是优雅,我为自己说话,但是......
有两个选项来实现,这对于 cpu 计算来说更快,或者如果最后它是相同的(我倾向于认为它是,因为条件是 (x<10) 相同)
public int DidLogcount = 0; // DidLogCount is raised by +1 every time we deside, then condition is met
public bool MoreLogsAllowed()
{
if (DidLogcount < 10) return true;
else return false;
}
对比
public bool MoreLogsAllowed()
{
return DidLogcount < 10;
}
我们大部分时间都应该检查它是否不为空,但如果我们必须这样做,它会影响这两种情况,所以如果我没有错过任何其他问题,我猜我只是缩小了范围(?)。
我会应用正确的答案。谢谢。
重新编辑:我只是想标记正确的答案,但在页面上进行了刷新,又加载了 3 个......
将等待更多选票...现在,我真的要感谢大家!为了分享您的知识,我确实想到了编译器的优化问题,所以......虽然这些打印输出显示了一些东西,虽然它本身的差异很小,但是当添加到一堆条件时,它就更少了little ,除非我们谈论的是一个真正复杂的应用程序,否则我不会说 big 。我应该说,性能问题从来都不是小问题,还有逻辑和可读性,这要感谢@Steve 和@Nick 为我们实际测试它。