2016-06-07 58 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++)