[英]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的这篇文章: 足够好有多糟糕? ,以防万一您在可读性和愚蠢的优化上不满意:)
它们的编译应该非常相似。 从低层次看,您正在考虑在循环中执行命令,然后您将有两个调用以比较一个值,并在条件要求退出循环时跳转到下一个代码块。
如上所述,虽然应该会导致更好的可读性,因此是更好的选择。
for
和while
都是相同的。
唯一的区别是放置条件的位置。 在内部,while循环在底层使用“ for”语法。
在您的情况下。 if you don't know the upper limit
虽然 **是最佳选择**
您可以使用
While(i!=4)
{
i++
}
使用for循环,如果你知道这个上限,否则while
是最好的朋友。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.