for (int frame <= 10; frame++)
{
}
例如,我有这段代码,但它无效。当我放入半结肠时,它可以工作。这是为什么?
for (; frame <= 10; frame++)
{
}
答案 0 :(得分:4)
C#语法规定for
语句具有:
1)初始化程序
2)条件
3)迭代器
您不必在这些部分中添加任何内容,但为了编译器,它们仍然需要存在。
请参阅http://msdn.microsoft.com/en-us/library/ch45axte.aspx
编辑:
另外,您可以改为使用while
循环:
while (frame++ <= 10)
{
...
}
答案 1 :(得分:2)
我认为你的for循环(第二个例子)有效,因为你已经初始化了变量 frame 在你的for循环开始之前。
例如:
int frame = 0;
for(; frame <= 10; frame++)
{
}
答案 2 :(得分:1)
这就是for
的工作原理。它有三个部分
来自msdn文档:
for (initializer; condition; iterator)
body
基本上,通过添加一个额外的分号,你给它一个空的初始化部分。
答案 3 :(得分:1)
因为它是语言语法http://msdn.microsoft.com/en-us/library/ch45axte.aspx
for (initializer; condition; iterator)
body
答案 4 :(得分:0)
因为for循环的第一部分是声明/初始化,所以它是可选的。投入;只是移动到下一部分,条件。