2016-06-07 29 views
-1

我有這個參差不齊的數組。C#Jagged數組int [] [] []值沒有正確顯示。以錯誤的順序

 private void Sample() 
    { 
     int[] a0 = { -5, -4, -3, -2, -1 }; 

     int[][] a1 = { a0, new int[] { 1, 2, 3 } }; 
     int[][] a2 = { new int[] { 4, 5, 6 } }; 
     int[][] a3 = { new int[] { 7, 8, 9, 10, 11 } }; 
     int[][] a4 = { new int[] { 12, 13, 14, 15 } }; 

     int[][][] arr = { a1, a2, a3, a4 }; 

     for (int i = 0; i < arr.Length; i++) 
     { 
      for (int j = 0; j < arr[i].Length; j++) 
      { 
       for (int k = 0; k < arr[j].Length; k++) 
       { 
        MessageBox.Show(arr[i][j][k].ToString()); 
       } 
      } 
     } 
    } 

結果必須是-5,-4,-3 .... 13,14,15,當我運行該方法它顯示不同的順序,這是-5,-4,1,4 ,5,7,8,12,13。我的代碼有什麼問題?

+6

取代'ARR [J] .Length'你可能意味着使用'ARR [i] [j] .Length'。 – Sinatr

+0

謝謝,它的作品。 –

+0

你有沒有遇到過你的代碼超出範圍的異常? –

回答

1

改變這一行

for (int k = 0; k < arr[j].Length; k++) 

排隊

for (int k = 0; k < arr[i][j].Length; k++) 
相關問題