我想使用已定义的迭代器进行循环。
目前我正在使用
int i;
while (i<10)
{
Console.Writeline(i);
i++;
}
这很难看,因为其他人可能会在以后删除i ++。如果它通过大块代码与while语句分开,则不清楚它是什么。
我真正喜欢的是
int i;
for (i<10; i++)
{
Console.Writeline(i);
}
这清楚地说明了发生了什么,但它不是有效的C#。
到目前为止我提出的最好的是
int i;
for (int z; i<10; i++)
{
Console.Writeline(i);
}
但那很难看。 C#给我一个优雅的方式吗?
答案 0 :(得分:9)
好吧,你没有拥有在循环的第一部分内有任何东西:
for (; i < 10; i++)
{
Console.WriteLine(i);
}
这就是你要找的东西吗?我个人通常尝试以避免这种情况 - 我发现想要一个没有新变量的循环是非常不寻常的。
答案 1 :(得分:3)
只需使用“for”的空白第一部分:
int i;
for (; i<10; i++)
{
Console.Writeline(i);
}
答案 2 :(得分:0)
您还可以在循环的第一部分中将变量分配给自身,如下所示:
int i;
for (i=i; i<10; i++)
{
Console.Writeline(i);
}
我发现它比将循环的第一部分留空更清晰,但是Visual Studio会给你一个警告&#34;对同一个变量做出的赋值;你的意思是把它分配给其他东西吗?&#34;