带有已定义迭代器的C#for循环

Jam*_*mes 1 c#

我想使用已定义的迭代器进行循环.

目前我正在使用

int i;
while (i<10)
{
    Console.Writeline(i);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

这很难看,因为其他人可能会在以后删除i ++.如果它通过大块代码与while语句分开,则不清楚它是什么.

我真正喜欢的是什么

int i;
for (i<10; i++)
{
    Console.Writeline(i);
}
Run Code Online (Sandbox Code Playgroud)

这清楚地说明了发生了什么,但它不是有效的C#.

到目前为止,我提出的最好的是

int i;
for (int z; i<10; i++)
{
    Console.Writeline(i);
}
Run Code Online (Sandbox Code Playgroud)

但那很难看.C#给我一个优雅的方式吗?

Jon*_*eet 10

好了,你不具备有循环的第一部分里的任何东西:

for (; i < 10; i++)
{
    Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)

这就是你要找的东西吗?我个人通常会尽量避免这种情况 - 我发现想要一个没有新变量的循环是很不寻常的.