Tutorial de matrices de C#: crear, declarar, inicializar
โก Resumen inteligente
Los arrays de C# almacenan una colecciรณn de tamaรฑo fijo de elementos que comparten el mismo tipo de datos bajo un รบnico nombre de variable. Cada elemento se ubica en un รญndice basado en cero, por lo que la declaraciรณn, inicializaciรณn y acceso a los valores se mantienen rรกpidos y predecibles.

ยฟQuรฉ es una matriz en C#?
Una matriz se utiliza para almacenar una colecciรณn o serie de elementos. Estos elementos serรกn del mismo tipo.
Entonces, por ejemplo, si tuviera una matriz de valores enteros, la matriz podrรญa ser una colecciรณn de valores como [1, 2, 3, 4]. Aquรญ el nรบmero de elementos de la matriz es 4.
Las matrices son รบtiles cuando desea almacenar una colecciรณn de valores del mismo tipo. Entonces, en lugar de declarar una variable para cada elemento, solo puedes declarar una variable.
Esta variable apuntarรก a un array o lista de elementos, que serรก la encargada de almacenar los elementos del array.
Veamos cรณmo podemos trabajar con matrices en C#. En nuestro ejemplo, declararemos una matriz de nรบmeros enteros y trabajaremos con ellos en consecuencia.
Tenga en cuenta que todo el cรณdigo siguiente se realiza en el archivo Program.cs.
Paso 1) Declarar una matriz: el primer paso es declarar una matriz. Veamos cรณmo podemos lograr esto con el siguiente ejemplo de cรณdigo.
Code Explicaciรณn:-
- La primera parte es la tipo de datos. Especifica el tipo de elementos utilizados en la matriz. Entonces, en nuestro caso, estamos creando una matriz de nรบmeros enteros.
- La segunda parte [], que especifica el rango de la matriz. (La clasificaciรณn es un marcador de posiciรณn que especifica la cantidad de elementos que contendrรก la matriz)
- El siguiente es el nombre de la matriz que en nuestro caso es "valores". Tenga en cuenta que ve un subrayado ondulado de color verde, no se preocupe por eso. Eso es solo .Net diciendo que ha declarado una matriz, pero no la estรก usando en ninguna parte.
Paso 2) El siguiente paso es inicializar la matriz. Aquรญ vamos a especificar la cantidad de valores que contendrรก la matriz. Tambiรฉn vamos a asignar valores a cada elemento del array.
Code Explicaciรณn:-
- Primero, establecemos el nรบmero de elementos que contendrรก la matriz en 3. Entonces, entre corchetes, estamos diciendo que la matriz contendrรก 3 elementos.
- Luego, asignamos valores a cada elemento del array. Esto se logra especificando el nombre de la variable y su รญndice. Asรญ, values[0] indica que estamos almacenando un valor en la primera posiciรณn del array. De manera similar, para acceder a la segunda posiciรณn, usamos values[1], y asรญ sucesivamente.
Nota: : โ En Arrays, la posiciรณn del รญndice comienza desde 0.
Paso 3) Ahora mostremos los elementos individuales de la matriz en la Consola. Agreguemos el siguiente cรณdigo para lograr esto.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Explicaciรณn:-
Esta es la parte simple en la que simplemente usamos el mรฉtodo Console.WriteLine para enviar cada valor del elemento a la consola.
Tenga en cuenta que nuevamente, accedemos a cada elemento con la ayuda del nombre de la variable de matriz junto con la posiciรณn del รญndice.
Si el cรณdigo anterior se ingresa correctamente y se ejecuta el programa, se mostrarรก el siguiente resultado.
Salida:
Desde el resultado, puede ver todos los valores de la matriz que se muestran en la consola.
Cรณmo recorrer un array en C# usando foreach
Leer cada elemento por su รญndice funciona, pero se vuelve tedioso cuando un array contiene muchos valores. El bucle foreach ofrece una forma mรกs limpia de visitar cada elemento de un array en orden sin... traccrea tรบ mismo una variable de รญndice.
La instrucciรณn `foreach` toma cada elemento del array uno a uno y lo copia en una variable de bucle. Luego, se utiliza esa variable dentro del cuerpo del bucle. Dado que el bucle se detiene automรกticamente en el รบltimo elemento, `foreach` elimina el riesgo de leer mรกs allรก del final del array.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
El ejemplo anterior declara e inicializa un array de tres enteros, luego lo recorre con foreach. En cada iteraciรณn, la variable รญt Recibe el siguiente valor y Console.WriteLine lo imprime. La salida son los nรบmeros 1, 2 y 3 en lรญneas separadas.
Puntos clave a recordar sobre el bucle foreach con arrays:
- La variable del bucle es de solo lectura, por lo que el bucle foreach es mรกs adecuado para leer valores que para modificarlos directamente.
- Para modificar elementos mientras miraping, en su lugar, utilice un bucle for con un รญndice.
- El bucle foreach funciona con matrices unidimensionales, matrices multidimensionales y cualquier colecciรณn que admita iteraciรณn.
Matrices multidimensionales en C#
Los arreglos mostrados hasta ahora son unidimensionales, lo que significa que almacenan una simple lista de valores. C# tambiรฉn admite arreglos multidimensionales, que organizan los elementos en una cuadrรญcula de filas y columnas. Un arreglo bidimensional es el formato mรกs comรบn y resulta adecuado para datos como matrices, tableros de juego y tablas.
Se declara una matriz bidimensional colocando una coma dentro de los corchetes. Cada coma adicional aรฑade una dimensiรณn mรกs, por lo que `int[,]` es bidimensional e `int[,,]` es tridimensional. A continuaciรณn, se accede a los elementos con un รญndice por dimensiรณn.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Aquรญ, la matriz contiene dos filas y dos columnas. El elemento matrix[0, 0] devuelve 1, y matrix[1, 1] devuelve 4. El nรบmero de dimensiones se fija al declarar la matriz, mientras que el tamaรฑo de cada dimensiรณn se establece al crearla.
Matrices irregulares en C#
Un array irregular es un array cuyos elementos son, a su vez, arrays. A diferencia de un array rectangular multidimensional, cada array interno puede tener una longitud diferente, por lo que a menudo se le denomina array de arrays. Esta flexibilidad resulta รบtil cuando las filas contienen, naturalmente, un nรบmero diferente de valores.
Se declara un array irregular con dos pares de corchetes y, a continuaciรณn, se crea cada array interno por separado. El siguiente ejemplo crea un array irregular donde la primera fila contiene tres valores y la segunda, dos.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
La expresiรณn jagged[0][2] lee el tercer elemento de la primera fila, que es 3, y jagged[1][1] lee el segundo elemento de la segunda fila, que es 5. Debido a que cada fila es una matriz separada, las matrices jagged utilizan la memoria de manera eficiente cuando las longitudes de las filas varรญan, aunque necesitan un paso adicional para inicializar cada matriz interna.




