带有已定义迭代器的c# for循环
本文关键字:for 循环 迭代器 定义 | 更新日期: 2023-09-27 18:12:44
我想使用已经定义的迭代器进行循环。
目前我正在使用
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#是否为我提供了一种优雅的方式?
你没有在循环的第一部分有任何东西:
for (; i < 10; i++)
{
Console.WriteLine(i);
}
这是你想要的吗?就我个人而言,我通常会尝试来避免这种情况-我发现不需要新变量的循环是非常不寻常的。
使用"for"的第一部分为空:
int i;
for (; i<10; i++)
{
Console.Writeline(i);
}
还可以在循环的第一部分将变量赋值给自身,如下所示:
int i;
for (i=i; i<10; i++)
{
Console.Writeline(i);
}
我发现它比留下循环的第一部分空白稍微清晰一些,但是Visual Studio会给你一个警告"对同一变量进行赋值;你是想把它分配给别的东西吗?"