MEJOR SITIO PARA DESARROLLADORES WEB
Lenguaje C#. W3Schools lecciones en español

Ua En De

C# Arreglos multidimensionales


Arreglos multidimensionales

En el capítulo anterior, aprendiste sobre las matrices, que también se conocen como matrices de una sola dimensión. Estos son geniales y son algo que usará mucho mientras programa en C#. Sin embargo, si desea almacenar datos en forma tabular, como una tabla con filas y columnas, debe familiarizarse con las matrices multidimensionales.

Una matriz multidimensional es básicamente una matriz de matrices.

Las matrices pueden tener cualquier cantidad de dimensiones. Los más comunes son los arreglos bidimensionales (2D).


Matrices bidimensionales

Para crear una matriz 2D, agregue cada matriz dentro de su propio conjunto de llaves e inserte una coma (,) dentro de los corchetes:

Ejemplo

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };

Es bueno saberlo: La coma simple [,] especifica que la matriz es bidimensional. Una matriz tridimensional tendría dos comas: int[,,].

numbers ahora es una matriz con dos matrices como elementos. El primer elemento de la matriz contiene tres elementos: 1, 4 y 2, mientras que el segundo elemento de la matriz contiene 3, 6 y 8. Para visualizarlo, piense en la matriz como una tabla con filas y columnas:

  COLUMNA 0 COLUMNA 1 COLUMNA 2
FILA 0 1 4 2
FILA 1 3 6 8

Acceder a elementos de una matriz 2D

Para acceder a un elemento de una matriz bidimensional, debe especificar dos índices: uno para la matriz y otro para el elemento dentro de esa matriz. O mejor aún, teniendo en cuenta la visualización de la tabla; uno para la fila y otro para la columna (ver ejemplo a continuación).

Esta declaración accede al valor del elemento en la primera fila (0) y la tercera columna (2) del números matriz:

Ejemplo

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Console.WriteLine(numbers[0, 2]);  // Salidas 2

Inténtalo tú mismo »

Recuerde que: Los índices de matriz comienzan con 0: [0] es el primer elemento. [1] es el segundo elemento, etc.


Cambiar elementos de una matriz 2D

También puedes cambiar el valor de un elemento.

El siguiente ejemplo cambiará el valor del elemento en la primera fila (0) y la primera columna (0):

Ejemplo

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
numbers[0, 0] = 5;  // Cambiar valor a 5
Console.WriteLine(numbers[0, 0]); // Salidas 5 instead of 1

Inténtalo tú mismo »


Recorrer una matriz 2D

Puedes recorrer fácilmente los elementos de una matriz bidimensional con un bucle foreach:

Ejemplo

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
foreach (int i in numbers)
{
Console.WriteLine(i);
} 

Inténtalo tú mismo »

También puedes utilizar un bucle for. Para matrices multidimensionales, necesita un bucle para cada una de las dimensiones de la matriz.

Tenga en cuenta también que tenemos que usar GetLength() en lugar de Length para especificar cuántas veces el bucle debe ejecutarse:

Ejemplo

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
Console.WriteLine(numbers[i, j]);
}
}  

Inténtalo tú mismo »