繁体   English   中英

if和return或while最快和最合适的是什么?

[英]What is faster and best for with if and return or while?

我有一个关于for和while循环的问题,因为我们必须传递一个值直到满足条件。 我想知道哪种方法在较低级别更有效,为什么?

也就是说,这两个代码给出相同的结果:

对于:

for (int i = 0; i<10 ; i++)
{
    if (i==4)
    {
        return;
    }
}

而:

int i=0;
while (i<10 and i!=4)
{
    i++;
}

这是一个可能循环的小例子,我们可能要看成千上万的记录。

哪种代码更有效? 我一直说在这种情况下我必须使用一段时间,但是我想知道低水平是否会持续一段时间还是更好。

非常感谢你。

答案是:没关系。

除非您真的努力使代码看到差异,否则您在性能上都不会看到任何差异,而真正重要的是代码的可读性(这是将来节省时间和金钱的地方) ),因此请使用更容易理解的一种。

对于您的情况,我建议使用While方法...


我还将建议阅读Eric Lippert的这篇文章: 足够好有多糟糕? ,以防万一您在可读性和愚蠢的优化上不满意:)

它们的编译应该非常相似。 从低层次看,您正在考虑在循环中执行命令,然后您将有两个调用以比较一个值,并在条件要求退出循环时跳转到下一个代码块。

如上所述,虽然应该会导致更好的可读性,因此是更好的选择。

forwhile都是相同的。

唯一的区别是放置条件的位置。 在内部,while循环在底层使用“ for”语法。

在您的情况下。 if you don't know the upper limit 虽然 **是最佳选择**

您可以使用

While(i!=4)
{
 i++
}

使用for循环,如果你知道这个上限,否则while是最好的朋友。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM