是";对于";循环只是一种简单的使用方式;而循环";有一个计数变量
本文关键字:quot 循环 方式 变量 有一个 对于 简单 一种 | 更新日期: 2023-09-27 18:01:01
您可能混淆了主题。让我来解释一下。
在大多数计算语言中,我们都有for和while循环。但在我的示例中,我将在c#中声明循环。
当你像这样贴花for循环和while循环时。
1.对于环路
for(i=0;i<10;i++)
{
//do something
}
2.While loop
int i=0;
while(i<10)
{
//do something
i++;
}
从2个循环中。当涉及到同谋者时,他们会同谋同样的事情吗?(除了在while循环外声明的int i。(如果没有,哪一个更好或更有效?
提前感谢
问题的简单答案是"是的,它们会编译成相同的代码。"有时。这将取决于语言和编译器。就C#而言,生成的代码中的任何差异都很小,以至于在运行时间方面都无关紧要。
任何for
循环都可以被重新编码为while
,反之亦然。例如,这个while
循环:
bool done = false;
while (!done)
{
// do stuff
}
可以重新编码为for
:
for (bool done = false; !done;)
{
// do stuff
}
CCD_ 5和CCD_。有时,我们更容易想到遍历列表,这是for
语句的基础(尽管肯定不是唯一的用途(。其他时候,我们想在某些条件保持为真的情况下做一些事情——因此我们使用while
。有些语言有一个until
(或者,在C中是do ... while
(,它将条件置于末尾。
这些都是构建解决方案的不同方式。这三种类型的循环可以互换,通常难度很小,但你通常会发现其中一种比其他两种更清楚地表达了你的意图。
对于这两个代码部分,生成的中间语言可能看起来非常相似。For的设计目的是对索引对象进行迭代,所以如果你想做到这一点,那么就使用它。但你仍然可以用while做同样的事情。
从性能的角度来看,没有什么区别。此外,如果您的性能受到如此低水平的影响,您已经排除了任何其他主要的性能问题,这反过来又可以深入了解IL在这里的工作方式。