2012-02-22 5 views

ответ

84
matrix.GetLength(0) -> Gets the first dimension size 

matrix.GetLength(1) -> Gets the second dimension size 
+0

Thankx! Работа прекрасна :) –

0

matrix.GetLowerBound(0) использования и matrix.GetUpperBound(0).

16

Просмотрели ли вы свойства Array?

  • Length дает длину массива (общее количество ячеек).
  • GetLength(n) дает количество ячеек в указанном размере (относительно 0). Если у Вас есть 3-мерный массив:

    int[,,] multiDimensionalArray = new int[21,72,103] ; 
    

    затем multiDimensionalArray.GetLength(n) будет, при п = 0, 1 и 2, возвращение 21, 72 и 103 соответственно.

Если вы создаете массивы Jagged/разреженные, то проблема несколько сложнее. Массивные/разреженные массивы [обычно] построены как вложенные массивы массивов внутри массивов. В этом случае вам необходимо изучить каждый элемент по очереди. Обычно это вложенные одномерные массивы, но нет причин, по которым вы не могли бы иметь, скажем, 2d-массив, содержащий 3D-массивы, содержащие 5d-массивы.

В любом случае, с неровной/разреженной структурой, вам необходимо использовать свойства длины для каждой ячейки.

Смежные вопросы