suma - Obtenga la longitud de la fila/columna de la matriz multidimensional en C#
recorrer matriz c# (3)
¿Cómo obtengo la longitud de una fila o columna de una matriz multidimensional en C #?
por ejemplo:
int[,] matrix = new int[2,3];
matrix.rowLength = 3;
matrix.colLength = 2;
¿Has mirado las propiedades de una Array
?
-
Length
le da la longitud de la matriz (número total de celdas). GetLength(n)
le proporciona el número de celdas en la dimensión especificada (relativa a 0). Si tienes una matriz tridimensional:int[,,] multiDimensionalArray = new int[21,72,103] ;
entonces
multiDimensionalArray.GetLength(n)
, para n = 0, 1 y 2, devolverá 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. Estas generalmente son matrices unidimensionales anidadas, pero no hay razón por la que no pueda tener, digamos, una matriz 2d que contenga matrices en 3D que contengan matrices de 5d.
En cualquier caso, con una estructura dentada / dispersa, necesita usar las propiedades de longitud en cada celda.
Use matrix.GetLowerBound(0)
y matrix.GetUpperBound(0)
.
matrix.GetLength(0) -> Gets the first dimension size
matrix.GetLength(1) -> Gets the second dimension size