为什么我的C#中的for循环在这种情况下需要分号?

use*_*491 0 c# for-loop

for (int frame <= 10; frame++)
{
}
Run Code Online (Sandbox Code Playgroud)

例如,我有此代码,但无法正常工作。当我放入半冒号时,它可以工作。为什么是这样?

for (; frame <= 10; frame++)
{
}
Run Code Online (Sandbox Code Playgroud)

can*_*its 5

C#语法指示该for语句具有:

1)初始化器

2)条件

3)迭代器

您不必在这些部分中放置任何内容,但是为了编译器的缘故,它们仍然需要存在。

请参阅http://msdn.microsoft.com/en-us/library/ch45axte.aspx

编辑:顺便说一句,您可以改用while循环:

while (frame++ <= 10)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)