我有关于for和while循环的问题,因为我们必须移动一个值直到满足条件。我想知道哪个在低级别更有效率,为什么?
也就是说,这两个代码给出了相同的结果:
有关:
for (int i = 0; i<10 ; i++)
{
if (i==4)
{
return;
}
}
WHILE:
int i=0;
while (i<10 and i!=4)
{
i++;
}
这是一个可能的循环的一个小例子,我们可以查看数千个记录。
什么代码更有效?我总是说在这种情况下我必须使用一段时间,但我想知道是否还有更好的低水平还是更好。
非常感谢。
答案 0 :(得分:4)
答案是:没关系。
除非你真的努力使代码看到差异,否则你不会看到性能上的任何差异,真正重要的是你的代码的可读性(这是你节省时间和金钱的地方)在未来),所以使用哪一个更容易理解。
在您的情况下,我会建议采用While
方法......
我还建议您阅读Eric Lippert撰写的这篇文章:How Bad Is Good Enough?,以防您因可读性与愚蠢的优化而未被出售:)
答案 1 :(得分:2)
他们应该非常相似地编译。在低级别,您正在查看在循环中执行命令,然后您将有两个调用来比较值并跳转到下一个代码块,如果条件要求退出循环。
如上所述,虽然应该提高可读性,因此是更好的选择。
答案 2 :(得分:1)
for
和while
都是相同的。
唯一的区别是你放置病情的地方。 在内部,while循环使用低级别的'for'语法。
在您的方案中。 虽然是最佳选择** if you don't know the upper limit
**
你可以使用
While(i!=4)
{
i++
}
如果您知道上限,请使用for循环,否则while
是最好的朋友。