Matrices vs listas: comparación de uso en C#

Matrices Vs Listas Comparacion De Uso En C



Una matriz en C# es un conjunto de elementos con tipos de datos idénticos y un tamaño específico definido. Representa un fragmento de memoria contiguo donde se guardan los elementos. Utilizando su índice, las matrices en C# ofrecen un acceso arbitrario fácil y rápido a sus miembros. Una lista es una estructura de datos dinámica en el lenguaje de programación C# que representa un grupo de componentes de tipo idéntico. A diferencia de las matrices, las listas pueden aumentar o reducir su tamaño dinámicamente, lo que permite agregar, eliminar y modificar elementos de manera eficiente. En este artículo se tratan tanto las similitudes como las distinciones entre las matrices de C# y las listas de C#.

Declaración:

Las matrices se declaran utilizando “type[] ArrayName;” sintaxis donde el tipo significa el tipo de los miembros en la colección de la matriz y 'ArrName' es el título asignado a la matriz. La declaración de una matriz se indica entre corchetes [].

tipo [ ] Nombre de matriz = nuevo tipo [ ] ;

Las listas se declaran utilizando “List LsName;” sintaxis donde el tipo representa el tipo de datos de los elementos de la lista y 'LsName' es el nombre que se le da a la lista. Los corchetes angulares indican que se trata de una declaración de tipo genérica.







Lista < tipo > Lista de nombres = lista nueva < tipo > ( ) ;

Inicialización:

Las matrices usan llaves {} para encerrar los valores, mientras que las listas usan el nuevo constructor List seguido de llaves {} para encerrar los valores.



tipo [ ] Nombre de matriz = { v1 , v2 , v3 , ... } ;

Lista < tipo > Lista de nombres = lista nueva < tipo > { v1 , v2 , v3 , ... } ;

Agregando Valores:

Es fundamental recordar que las matrices de C# poseen un tamaño específico. Si se requiere un tamaño diferente, se debe crear una nueva matriz 'newArr' con el tamaño deseado (longitud actual + número de valores nuevos). Agregue la matriz original 'OrgArr' a la nueva matriz y asigne los nuevos valores a las nuevas posiciones en la nueva matriz y actualice la referencia a la nueva matriz.



Formación. Copiar ( organización , nuevoArr , Arr.org. Longitud ) ;

nuevoArr [ Arr.org. Longitud ] = 14 ; // nuevo valor

nuevoArr [ Arr.org. Longitud + 1 ] = 2 ; // nuevo valor

organización = nuevoArr ; // Actualiza la referencia int[] NewArr = new int[OrgArr.Length + 2];

Las listas ofrecen flexibilidad en términos de gestión de tamaño. Cuando se inicializa una lista, comienza con una capacidad inicial, pero puede expandirse automáticamente a medida que se agregan más elementos. Esta capacidad de cambio de tamaño dinámico permite que las listas se adapten a los requisitos cambiantes. Las listas de C# proporcionan una función Add() para agregar los valores a la lista. Así es como puede agregar valores a una lista de C#:





Matrices frente a listas : Comparación de uso en C #

Accediendo a los valores

Se accede a los valores en los números de la matriz usando la notación de índice [], es decir, usando el número de índice entre paréntesis y se guarda en otra variable.

tipo elemento = Nombre de matriz [ índice ] ;

Para acceder a los valores en una lista de C#, también puede usar la notación de índice [] junto con la posición de índice deseada similar a las matrices.



tipo elemento = Lista de nombres [ índice ] ;

Eliminando los valores

Las matrices tienen una longitud determinada. Por lo tanto, para eliminar los elementos, se debe crear una nueva matriz con un tamaño menor y se deben copiar los elementos existentes. Esto se puede hacer empleando la función Array.Copy() como se explica en la sección 'Agregar valores'. En las listas de C#, eliminar los valores es mucho más sencillo e intuitivo. La clase List proporciona un método 'eliminar' que le permite eliminar un valor específico de la lista.

Lista de nombres. Eliminar ( elemento ) ;

Cuente los valores

Para contar los valores en una matriz de C#, puede emplear el atributo de longitud de la matriz. La propiedad de longitud le proporciona el número total de valores en la matriz.

En t contar = nombrematriz. Longitud ;

Para contar los valores en una lista de C#, puede emplear la función 'recuento' de la lista. La cantidad total de elementos que residen actualmente en la lista también se devuelve mediante el atributo 'recuento'.

En t contar = Lista de nombres. Contar ;

Iterar los valores

Para iterar sobre valores en una matriz de C#, puede utilizar un bucle 'for' con la longitud de la matriz como condición del bucle.

para ( En t i = 0 ; i < Nombre de matriz. Longitud ; i ++ ) {

tipo e = nombrematriz [ i ] ;

Consola. Línea de escritura ( Es ) ;

}

Para iterar sobre los valores en una lista de C#, puede utilizar un bucle 'foreach', ya que simplifica el proceso de iteración al iterar automáticamente sobre los elementos.

para cada ( escriba e en nombre de lista ) {

Consola. Línea de escritura ( Es ) ;

}

Ejemplo 1: matrices C#

El código dado declara e inicializa una matriz de enteros llamada 'Arr' con una longitud de 5 y asigna los valores a sus elementos. Los valores asignados a los elementos de la matriz son 11, 12, 13, 14 y 15. Luego, el código procede a mostrar los elementos de la matriz utilizando un bucle 'for'. Cada componente se muestra en una línea distinta utilizando el método Console.WriteLine().

Después de mostrar los elementos originales, el código modifica el elemento en el índice 2 asignándole un nuevo valor de 10. A continuación, el código muestra la matriz modificada iterando a través de los elementos nuevamente usando un bucle 'for'. Por último, el código muestra el número total de valores que residen en la matriz utilizando la propiedad 'Arr.Length' que produce la longitud de la matriz.

usando el sistema ;

muñeco de clase {

  estático vacío Principal ( ) {

    En t [ ] Arr = nuevo En t [ 5 ] { 11 , 12 , 13 , 14 , 15 } ;

Consola. Línea de escritura ( 'Elementos:' ) ;

    para ( En t i = 0 ; i < Arr. Longitud ; i ++ )

    {

Consola. Línea de escritura ( Arr [ i ] ) ;

    }

Arr [ 2 ] = 10 ;

Consola. Línea de escritura ( 'Matriz modificada:' ) ;

    para ( En t i = 0 ; i < Arr. Longitud ; i ++ )

    {

Consola. Línea de escritura ( Arr [ i ] ) ;

    }

Consola. Línea de escritura ( 'Número de elementos: ' + Arr. Longitud ) ;

  }

}

Ejemplo 2: listas de C#

El siguiente código proporcionado demuestra el uso de una lista de C# para almacenar y manipular una colección de números enteros. Primero, el código inicializa una lista llamada 'Arr' con cinco números enteros: 11, 12, 13, 14 y 15. Esto se logra usando la clase List y su constructor junto con una sintaxis de inicializador.

A continuación, el programa imprime el mensaje 'Elementos:' y procede a iterar sobre cada elemento de la lista utilizando un bucle 'foreach'. Durante cada iteración, el elemento actual se imprime en la consola utilizando el método Console.WriteLine().

Luego, el código modifica el valor en el índice 2 de la lista asignándole el valor de 10 (Arr[2] = 10). Esta línea cambia el tercer elemento de la lista de 13 a 10. Después de la modificación, el programa vuelve a imprimir el mensaje 'Lista modificada:' e itera sobre la lista actualizada, imprimiendo cada elemento en la consola. Luego, el código muestra el número de valores en la lista usando 'Arr.Count'. Esta propiedad devuelve el recuento de elementos que están presentes en la lista que, en el siguiente escenario, resulta ser 5.

Por último, el código elimina el elemento con el valor 4 de la lista utilizando el método Arr.Remove(4). Este método busca el valor especificado en la lista y elimina su primera aparición. Finalmente, el programa imprime el mensaje 'Lista después de la eliminación:' y recorre la lista una vez más, mostrando cada elemento restante después de la operación de eliminación.

usando el sistema ;

utilizando el sistema. Colecciones . Genérico ;

muñeco de clase {

  estático vacío Principal ( ) {

Lista < En t > Arr = lista nueva < En t > ( ) { 11 , 12 , 13 , 14 , 15 } ;
 
Consola. Línea de escritura ( 'Elementos:' ) ;

para cada ( En t n en Arr )

    {

Consola. Línea de escritura ( norte ) ;

    }

Arr [ 2 ] = 10 ;

Consola. Línea de escritura ( 'Lista modificada:' ) ;

para cada ( En t n en Arr )

    {

Consola. Línea de escritura ( norte ) ;

    }

Consola. Línea de escritura ( 'Número de elementos: ' + Arr. Contar ) ;

Arr. Eliminar ( 4 ) ;

Consola. Línea de escritura ( 'Lista después de la eliminación:' ) ;

para cada ( En t n en Arr )

    {

Consola. Línea de escritura ( norte ) ;

    }

  }

}

Conclusión

Esta guía cubrió las diferencias de sintaxis básicas entre las matrices de C# y las listas de C#. Las matrices tienen una longitud fija y se accede a ellas mediante índice, mientras que las listas tienen un tamaño dinámico y proporcionan métodos adicionales para agregar y eliminar elementos. Junto con eso, proporcionamos la lista de programas C# que muestran la declaración, inicialización, acceso, modificación, conteo y adición de elementos.