2012-07-04 26 views
5

Mi chiedo quale sia la differenza tra i due modi per definire una matrice multidimensionale in C#.Differenza tra le notazioni di array multidimensionali (oggetto [] [] e oggetto [,])

È possibile utilizzare object[][] e object[,] per lavorare con array multidimensionale.

Ci sono differenze funzionali?

+0

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

+1

Possibile duplicato _exactly_: http://stackoverflow.com/q/597720 – mmdemirbas

+0

@Jodrell Il mio commento è anche duplicato ironicamente :) – mmdemirbas

risposta

6

Il object[][] è una notazione per array di matrici. Il secondo object[,] è un array bidimensionale.

La differenza principale è mentre il primo può contenere matrici "interne" di lunghezza diversa, il secondo deve essere rettangolare (ad esempio 4x7).

Esempio:

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

Square vuoi dire? –

+1

@MAfifi No, rettangolare. È possibile avere 16 x 9 per esempio usando 'oggetto [,]' –

+0

Il codice di formattazione come il codice sarebbe bello. – mmdemirbas

Problemi correlati