Подтвердить что ты не робот

Как получить длину строки/столбца многомерного массива в С#?

Как получить длину строки или столбца многомерного массива в С#?

например:

int[,] matrix = new int[2,3];

matrix.rowLength = 2;
matrix.colLength = 3;
4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

    тогда multiDimensionalArray.GetLength(n) будет, для n = 0, 1 и 2, вернуть 21, 72 и 103 соответственно.

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

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

Ответ 3

Используйте matrix.GetLowerBound(0) и matrix.GetUpperBound(0).