Hola 👋👋, espero que te encuentres muy bien. Esta vez voy a compartir contigo acerca de dos tipos bastante utilizados en C#: Listas y Array. Es muy común que sepamos usar ciertas características o tipos en nuestro lenguaje de programación, pero no sabemos los detalles o la razón por la que debemos hacer las cosas de cierta manera, así que por eso hoy te voy a mostrar en pocas palabras las diferencias claves entre ellos.

¡Empecemos!

Primero empecemos con una definición formal de una Lista

List<T>

«Representa una lista de objetos fuertemente tipada a la que se puede acceder por medio de un índice» Esta corta expresión significa que una lista contiene objetos, que podemos realizar acciones con ella como ordenar, buscar y manipular la lista. ¿Qué significa la T? Representa el tipo de objeto de la lista de forma genérica.

Para crear nuestra lista necesitamos añadir el namespace de System.Collections.Generic a nuestro proyecto así:

using System.Collections.Generic; 

Los métodos básicos que necesitas para manipular una Lista son los siguientes:

 

Estas son algunas de las operaciones básicas que se pueden hacer con List para una lista detallada de métodos, te agregué el link de documentación al final de este post. Así que avanzando a nuestro siguiente elemento Vamos a hablar de los arrays.

 

Arrays

Estos se utilizan para almacenar múltiples valores del mismo tipo en una sola variable. Se declara un array especificando el tipo de sus elementos. Un array puede ser unidimensional, multidimensional o dentado.

Las características principales de los arrays:
  • El índice de los arrays comienza en cero.
  • Un array Jagged es un array de arrays.
  • Un array puede ser de cualquier tipo, incluso de tipo array.
  • Puedes utilizar la sentencia foreach para iterar a través de un array

Algunas de las sintaxis básicas para trabajar con arrays:

 

Las diferencias claves entre Arrays y List<T>: 

  • La clase List<T> se comporta mejor en la mayoría de los casos y es de tipo seguro.
  • El número de dimensiones y la longitud de cada dimensión se establecen cuando se crea la instancia del array. Estos valores no pueden ser modificados durante la vida de la instancia.
  • La capacidad de List<T> puede ser modificada en tiempo de ejecución, el tamaño del array se define en la creación y no puede ser modificado durante el tiempo de ejecución.
  • Los arrays están especialmente optimizados para el cálculo aritmético por lo que es más conveniente utilizarlo en lugar de una Lista.

 

Conclusiones

Las listas y los arrays son muy parecidos, podemos almacenar datos en ambos, se pueden ordenar, buscar e incluso cortar, pero en situaciones prácticas utilizamos una Lista cuando no sabemos el tamaño de los elementos que vamos a almacenar en la estructura de datos, no tenemos un número concreto para la longitud del objeto y quizás sería dinámico. En cambio, cuando realizamos un cálculo aritmético y tenemos una longitud específica para el objeto utilizamos un array.   

Si te ha gustado este articulo no olvides compartir y likes!👏No olvides seguir nuestro calendario Coding Winter. Que tengas un excelente dia. 🧡 💛 💚🧡 💛 💚

Si quieres Aprender mas sobre Listas y Arrays en C# sigue estos links a la documentacion:

List<T> Class (System.Collections.Generic) | Microsoft Docs

Arrays – C# Programming Guide | Microsoft Docs