2012-02-22 25 views

Respuesta

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

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

¡Gracias! Trabaja bien :) –

0

Uso matrix.GetLowerBound(0) y matrix.GetUpperBound(0).

16

¿Has visto las propiedades de un Array?

  • Length le da la longitud de la matriz (número total de celdas).
  • GetLength(n) le da el número de celdas en la dimensión especificada (relativa a 0). Si tiene una matriz de 3 dimensiones:

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

    entonces multiDimensionalArray.GetLength(n) voluntad, para n = 0, 1 y 2, el retorno 21, 72 y 103 respectivamente.

Si está construyendo matrices dentadas/dispersas, entonces el problema es algo más complicado. Las matrices jagged/sparse se construyen [generalmente] como una colección anidada de matrices dentro de las matrices. En ese caso, debe examinar cada elemento por turno. Por lo general, estos son matrices unidimensionales anidadas, pero no hay razón por la que no pueda tener, por ejemplo, una matriz 2d que contenga matrices en 3D que contengan matrices de 5d.

En cualquier caso, con una estructura dentada/dispersa, debe usar las propiedades de longitud en cada celda.

Cuestiones relacionadas