C# 如何使用for或while循环,并在主体外部声明int?

C# 如何使用for或while循环,并在主体外部声明int?,c#,C#,我有一个循环,就像这样: for (i < splitted.Length; i++ != 0) { key += '\\' + splitted[i]; } for(i

我有一个循环,就像这样:

        for (i < splitted.Length; i++ != 0)
                {
                    key += '\\' + splitted[i];

                }
for(i
根据上面的if条件,在循环体外部被decdlare的i可能需要递增(我将一个字符串拆分为一个字符串[],然后需要连接它的一部分,但可能从第5个索引、第6个索引等开始,具体取决于if子句中的条件)

但是,C#不允许我编写如上所述的循环。我能有一个像上面那样的环吗


谢谢

您可以使用一个空的初始化子句来允许在
for
循环之外进行赋值:

int i = 0;
for ( ; i < 10; ++i)
    Console.WriteLine(i);
inti=0;
对于(;i<10;++i)
控制台写入线(i);

您可以有一个空的初始化子句,以允许在
for
循环之外进行赋值:

int i = 0;
for ( ; i < 10; ++i)
    Console.WriteLine(i);
inti=0;
对于(;i<10;++i)
控制台写入线(i);
(;i

{
如果(i!=0)
键+='\\'+拆分的[i];
}
(;i

{
如果(i!=0)
键+='\\'+拆分的[i];
}
C#中的for语句有三个部分(初始值设定项、条件和迭代器),它们之间用
分隔

for (initializer; condition; iterator)
这些零件中的任何一个都可以是空的。您给出的语法只指定了2个部分,因此给出了一个编译错误。由于变量是在循环外部声明的,因此您希望通过将初始值设定项保留为空来跳过它

for (; i < splitted.Length; i++)
(;i
C#中的for语句有三个部分(初始值设定项、条件和迭代器),它们之间用
分隔

for (initializer; condition; iterator)
这些零件中的任何一个都可以是空的。您给出的语法只指定了2个部分,因此给出了一个编译错误。由于变量是在循环外部声明的,因此您希望通过将初始值设定项保留为空来跳过它

for (; i < splitted.Length; i++)
(;i