English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# admite hasta32matrices de múltiples dimensiones. Se puede declarar una matriz multidimensional mediante la adición de comas en los corchetes. Por ejemplo, [ , ] declara un array bidimensional, [ , , ] declara un array tridimensional, [ , , ,] declara un array cuadridimensional, etc. Por lo tanto, el número de comas = el número de dimensiones-1.
int[, , ] arr2d; // Array bidimensional int[, , ] arr3d; // Matriz tridimensional int[, , ,] arr4d; // Cuatro dimensiones de matriz int[, , , ,] arr5d; // Matriz quinquedimensional
Permítenos entender el array bidimensional. A continuación, se inicializa un array bidimensional.
int[, , ] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; //o int[, , ] arr2d = { {1, 2}, {3, 4}, {5, 6} };
En el ejemplo de array bidimensional anterior, [3,2]define el número de filas y columnas. La primera columna representa el número de filas, la segunda columna define el número de columnas. La siguiente imagen muestra un array bidimensional dividido en filas y columnas.
Los siguientes valores de acceso del array bidimensional.
int[, , ] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; arr2d[0, 0]; //Devuelve1 arr2d[0, 1]; //Devuelve2 arr2d[1, 0]; //Devuelve3 arr2d[1, 1]; //Devuelve4 arr2d[2, 0]; //Devuelve5 arr2d[2, 1]; //Devuelve6 //arr2d[3, 0]; //lanza un error en tiempo de ejecución, porque no hay cuarta fila
En el ejemplo anterior, el valor del array bidimensional se puede acceder mediante los índices de filas y columnas [índice de fila, índice de columna]. Por lo tanto, [0, 0] devuelve la primera fila y la primera columna [1, 1]valor, y devuelve el valor de la segunda fila y la segunda columna.
Ahora, permítenos entender la matriz tridimensional. A continuación, se declara e inicializa una matriz tridimensional.
int[, , ] arr3d1 = new int[1, 2, 2]{ { { 1, 2} 3, 4} }; int[, , ] arr3d2 = new int[2, 2, 2]{ { {1, 2}3, 4} }, { {5, 6}7, 8} }; int[, , ] arr3d3 = new int[2, 2, 3]{ { { 1, 2, 3}4, 5, 6} }, { { 7, 8, 9}10, 11, 12} }; arr3d2[0, 0, 0]; // Devuelve1 arr3d2[0, 0, 1]; // Devuelve2 arr3d2[0, 1, 0]; // Devuelve3 arr3d2[0, 1, 1]; // Devuelve4 arr3d2[1, 0, 0]; // Devuelve5 arr3d2[1, 0, 1]; // Devuelve6 arr3d2[1, 1, 0]; // Devuelve7 arr3d2[1, 1, 1]; // Devuelve8
Como puedes ver en el ejemplo anterior, arr3d1de[1,2,2]especifica que contendrá el array bidimensional [2,2fila en el array [arr3d2especificar el número de dimensiones[2,2,2representa que contiene el array bidimensional [2,2Las dos filas. Por lo tanto, la primera columna representa el número de filas del array bidimensional interno.
Ahora, vea la matriz cuádruple siguiente。
int[,,,] arr4d1 = new int[1, 1, 2, 2]{ { { { 1, 2} 3, 4} } }; arr4d1[0, 0, 0, 0]; // Devuelve1 arr4d1[0, 0, 0, 1]; // Devuelve2 arr4d1[0, 0, 1, 0]; // Devuelve3 arr4d1[0, 0, 1, 1]; // Devuelve4 int[,,,] arr4d2 = new int[1, 2, 2, 2]{ { { {1, 2}3, 4} }, { {5, 6}7, 8} } }; arr4d2[0, 0, 0, 0]; // Devuelve1 arr4d2[0, 0, 0, 1]; // Devuelve2 arr4d2[0, 0, 1, 0]; // Devuelve3 arr4d2[0, 0, 1, 1]; // Devuelve4 arr4d2[0, 1, 0, 0]; // Devuelve5 arr4d2[0, 1, 0, 1]; // Devuelve6 arr4d2[0, 1, 1, 0]; // Devuelve7 arr4d2[0, 1, 1, 1]; // Devuelve8
En el ejemplo anterior, el array cuádruple arr4d1Especificar [1、1、2、2],这表示它包含三维数组的一行。
De la misma manera, puede declarar e inicializar en C#5dimensión,6Matriz y hasta32Matriz.