2016-02-18 2 views
0

Мне нужно сделать 2d массив массивов.Многомерный массив (2d) массивов

int[,][] array = new int[n,m][]; 
    for (int i=0; i< m; i++) 
    { 
     for (int j=0; j< n; j++) 
     { 
      int r = ran.Next(1, 7); 
      int[] arraybuf = new int[r]; 
      for (int z = 0; z < r; z++) 
      { 
       arraybuf[z] = 1; 
      } 
      array[i, j] = arraybuf; 
      Console.WriteLine(array[i, j]);         
     } 
      Console.WriteLine(); 
    } 

Когда я делаю это, консоль показывает

System.Int32[] 

в каждом месте, где массив должен быть.

+1

Что вы ожидаете 'Console.WriteLine (массив [I, J]);' печатать? Вы дали ему массив int, и нет специальной перегрузки WriteLine() для их печати. –

ответ

3

Потому что это массив. У вас есть 2D массив массивов типа int.

Если вы хотите, чтобы отобразить содержимое массива в конкретной ячейке можно сделать:

Console.WriteLine(string.Join(", ", array[i, j])); 
Смежные вопросы