Arrays o Matrices en C#

Los Arrays o Matrices en C# son una estructura que almacena una o más variables del mismo tipo de dato que el array al momento de crearlo.

Podemos encontrar 3 tipos de array, los cuales son:

Unidimensional

Este tipo de matriz es la más básica, se compone de una única fila de espacios para guardar las variables.

Arrays o Matrices en C#
  • Cada espacio del array se identifica mediante un número que comienza en la posición 0.
  • En la creación del array del tamaño o el número de espacios.

Podría interesarte Colección List de una clase en C#  

Declaración del array

La declaración de un array puede definirse de diversas maneras, veamos algunas maneras de hacerlo.

Básico, sin especificar número de espacios.

int[] array1;

Declarando número de espacios, se inicializa el array con el número de espacios mediante new.

int[] array2 = new int[5];

Numero de espacios y valores, establecemos el número de espacios y el valor de cada uno en la misma declaración.

int[] array3 = new int[3] { 3, 5, 10};

Sin especificar número de espacios, el número de espacios del array de define mediante el número de valores en la declaración.

int[] array4 = { 4, 9, 5, 1 };

En los ejemplos solo estamos creando arrays enteros, sin embargo, es posible crear de cualquier otro tipo como son:

  • string
  • double
  • byte
  • char
  • entre otros.

Agregar información al array

Podemos agregar información a un array de varias formas, esto dependiendo de la forma declarada.

De las anteriores declaraciones vistas las dos primeras no cuentan con valores, mientras que las dos últimas ya los tiene.

Agregare valores a las dos primeras declaraciones de la siguiente manera.

array1 = new int[3]{ 5, 10, 7 };
array2 = new []{ 4, 7, 8, 2, 20};

Es posible utilizar bucles para llenar un array, por ejemplo, utilicemos un ciclo for.

for (int i = 0; i < array2.Length; i++)
{
    array2[i] = i;
}

Podría interesarte Consulta LINQ en un DataTable con C#  

Obtener información del array

Al igual que cualquier otro variable necesitamos obtener la información almacenada, en un array es importante la posición de los datos.

Obtengamos el valor almacenado en la posición 1 del array1.

int valor1 = array1[1];
//R: 10
  • Entre corchetes se especifica la posición del dato que requerimos.
  • Recuerden que las posiciones comienzan en 0.

Podemos utilizar ciclos para obtener la información, en esos ciclos también puedes utilizar filtros en caso de necesitarlos.

for (int i = 0; i < array2.Length; i++)
{
    array2[i];
}
//R: 4, 7, 8, 2, 20

Multidimensional

Los arrays multidimensionales se dividen en dos, 2D (Tabla) y 3D (Cubo).

2D o Tabla

Prácticamente podemos decir que son tablas que almacenan información al igual que un array normal.

Es este tipo también es muy importante tener claro las posiciones de los espacios.

Array 2D o tabla

Representemos la imagen anterior en código, ya que tenemos visualmente la tabla.

int[,] array1 = new int[2, 3] { { 10, 5, 100 },
                                { 50, 75, 25 } };
  • Entre los corchetes se coloca una coma, eso define que es un array 2D.
  • Creamos un arrary especificando primero el número de filas (2), seguido del número de columnas (3).
  • Entre llaves colocamos los datos de la primera fila, separamos con coma para continuar con la segunda fila.
  • Este tipo de array también comienza en posición 0,0 (primero fila y seguido de la columna).

Obtener información de la tabla

Para obtener la información guardada en la tabla podemos realizarlo de dos formas, la primera especificando la posición.

int valor1 = array1[1, 2];
//R: 25

La otra forma de hacerlo sería con un ciclo, utilicemos un foreach para obtener los datos.

foreach (int item in array1)
{
    item;
}
//R: 10, 5, 100, 50, 75, 25

Podría interesarte Modificar datos de un DataTable en C#  

3D o Cubo

Un array 3D es prácticamente la creación de un cubo, este se compone de dos tablas o más en un solo array.

Es importante conocer bien las posiciones de cada elemento para su administración, en la siguiente imagen lo vemos claramente.

Array 3D o Cubo

Representemos la imagen anterior en código, para comprender mejor como construirlo ya que lo tenemos gráficamente.

int[,,] array2 = new int[2, 2, 3] {
                                {//primera capa
                                    { 55, 25, 30 },//Primera fila
                                    { 100, 55, 10 }// Segunda fila
                                },
                                {//Segunda capa
                                    { 125, 60, 75 },//Primera fila
                                    { 99, 15, 150 }// Segunda fila
                                } };
  • En la declaración del tipo de dato se colocan dos comas entre los corchetes.
  • El orden del cubo es, primero el número de capas (2), seguido del número de filas (2) y por ultimo las columnas (3).
  • Primero se separa entre corchetes las capas.
  • Dentro de cada capa se separa entre corchetes las filas.

Obtener información del cubo

Podemos obtener los valores de cada campo especificando la posición requerida.

int valor = array2[1, 1, 0];
//R: 99

Además, podemos hacer uso de los bucles para obtener los datos, utilicemos un foreach.

foreach (int item in array2)
{
    item;
}
//R: 55, 25, 30, 100, 55, 10, 125, 60, 75, 99, 15, 150

Podría interesarte JaggedArray o Matriz escalonada en C#  

Puedes visualizar los resultados utilizando un proyecto de consola o cualquier otro proyecto que te permita mostrar en pantalla.

2 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *