什么是更快和最好的 如果和返回或同时.

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

本文关键字:返回 如果 什么      更新时间:2023-09-26

我有一个关于 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是最好的朋友。