C# Arreglo multidimensional
C# admite arreglos multidimensionales. Los arreglos multidimensionales también se denominan arreglos rectangulares.
Puede declarar un arreglo bidimensional de variables string, de la siguiente manera:
string [,] names;
O bien, puede declarar un arreglo tridimensional de variables int, de la siguiente manera:
int [ , , ] m;
Arreglo bidimensional
La forma más simple de un arreglo multidimensional es el arreglo bidimensional. Un arreglo bidimensional es, en esencia, una lista de arreglos unidimensionales.
Un arreglo bidimensional puede considerarse como una tabla con x filas e y columnas. A continuación se muestra un arreglo bidimensional con 3 filas y 4 columnas:
Por lo tanto, cada elemento del arreglo se identifica mediante un nombre de elemento de la forma a[ i , j ], donde a es el nombre del arreglo, e i y j son los subíndices que identifican de forma única cada elemento de a.
Inicialización de un arreglo bidimensional
Los arreglos multidimensionales se pueden inicializar especificando valores para cada fila entre corchetes. A continuación se muestra un arreglo con 3 filas y 4 columnas.
int [,] a = new int [3,4] {
{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};
Acceso a los elementos de un arreglo bidimensional
Los elementos de un arreglo bidimensional se acceden mediante subíndices (es decir, el índice de fila y el índice de columna del arreglo). Por ejemplo:
int val = a[2,3];
La instrucción anterior obtendrá el cuarto elemento de la tercera fila del arreglo. Puede verificarlo mediante el diagrama anterior. Veamos el siguiente programa, en el que usaremos bucles anidados para procesar un arreglo bidimensional:
Ejemplo
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
/* Un arreglo con 5 filas y 2 columnas */
int[,] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} };
int i, j;
/* Muestra el valor de cada elemento del arreglo */
for (i = 0; i < 5; i++)
{
for (j = 0; j < 2; j++)
{
Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
}
}
Console.ReadKey();
}
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
a[0,0]: 0 a[0,1]: 0 a[1,0]: 1 a[1,1]: 2 a[2,0]: 2 a[2,1]: 4 a[3,0]: 3 a[3,1]: 6 a[4,0]: 4 a[4,1]: 8Otras extensiones
C# Arreglos