2011-04-01 55 views
1

我有一個循環,像這樣:如何使用for或while循環來聲明在體外聲明的int?

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

       } 

根據一個if條件以上,i,則循環身體外部decdlared,可能需要被遞增(我將字符串分割爲一個字符串[]和那麼需要加入其中的一部分,但可能來自第5個索引,第6個等,這取決於if子句中的條件)。

但是,C#不讓我編寫如上所述的循環。我可以有像上面這樣的循環嗎?

感謝

回答

2

你可以有一個空的初始化子句允許for循環之外分配:

int i = 0; 
for (; i < 10; ++i) 
    Console.WriteLine(i); 
1
 for (;i < splitted.Length; i++) 
     { 
      if (i!=0) 
      key += '\\' + splitted[i]; 

     } 
1

一種在C#語句有3個部分(初始化,條件和迭代器),由;分隔。

for (initializer; condition; iterator) 

任何這些部分都可以是空的。你給的語法只是指定了2個部分,因此給出了一個編譯錯誤。由於該變量是在循環外部聲明的,因此您希望通過將其忽略爲空來跳過初始化程序

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