2012-07-04 24 views
5

Me pregunto cuál es la diferencia entre las dos formas de definir una matriz multidimensional en C#.Diferencia entre las anotaciones de matriz multidimensional (objeto [] [] y objeto [,])

Puede usar object[][] y object[,] para trabajar con matriz multidimensional.

¿Existen diferencias funcionales?

+0

http://stackoverflow.com/questions/597720/what-is-differences-between-multidimensional-array-and-array-of-arrays-in -c – Jodrell

+1

Posible duplicado _exactly_: http://stackoverflow.com/q/597720 – mmdemirbas

+0

@Jodrell Mi comentario también es duplicado irónicamente :) – mmdemirbas

Respuesta

6

El object[][] es una notación para una matriz de matrices. El segundo object[,] es una matriz bidimensional.

La principal diferencia es que la primera puede contener matrices "internas" de distinta longitud, la segunda debe ser rectangular (por ejemplo, 4x7).

Ejemplo:

int[][] a = new int[] { new int[]{ 1, 2 }, new int[]{ 3, 4, 5, 6, 7 }}; 
int[,] b = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 

This is an official tutorial.

+0

Cuadrado ¿quieres decir? –

+1

@MAfifi No, rectangular. Es posible tener 16 x 9, por ejemplo, usando 'object [,]' –

+0

El código de formato de formato sería bueno. – mmdemirbas

Cuestiones relacionadas