2015-06-22 315 views
-3

的陣列我有以下數組一個C#腳本:循環通過陣列

string[,] craftingRecipes = new string[,]{ 
    // {recipe},{result} 
    {"potato","tabasco"},{"explosivePotato"}, 
    {"mentos","cola"},{"colaCannon"}, 
    {"potato","cola"},{"potatoCola"}, 
    {"potato","chips"},{"potatoChips"} 
}; 

我怎麼能遍歷的第n子陣列的每個項目?因此,例如,包含{"potato","tabasco"}的數組應該循環兩次,因爲其中有兩個項目。
謝謝你的幫助!

+1

您的樣品不能編譯,所以很難看到什麼「的第n個子陣」應該是......請出示樣品,編譯或更好,但考慮使用強類型對象的列表(像'配方{清單組件;字符串結果;}')。 –

回答

1

我不知道我理解你的問題,因爲你的代碼不能編譯,但是你可以用這個循環通過第一個「行」項目迭代:

 int line = 0; 
     for (int i = 0; i < craftingRecipes.GetLength(1); i++) 
     { 
      Console.WriteLine(craftingRecipes[line,i]); 
     } 

雖然,你應該array看起來更像這個(我不得不添加sth_missing_here,因爲Multi-Dimensional Array必須有子陣列具有相同的長度):

 string[,] craftingRecipes = new string[,]{ 
      {"potato","tabasco"},{"explosivePotato","sth_missing_here_1"}, 
      {"mentos","cola"},{"colaCannon","sth_missing_here_2"}, 
      {"potato","cola"},{"potatoCola","sth_missing_here_3"}, 
      {"potato","chips"},{"potatoChips","sth_missing_here_3"} 
     }; 
0

可以使用OfType<T>方法,對多維數組轉換爲IEnumerable<T>結果,樣品:

IEnumerable<string> items = craftingRecipes.OfType<int>(); 

foreach(var item in items) 
{ 
    // loop between all elements... 
}