Artículos de Tecnología

Listas en C#

Elias Ribeiro
Elias Ribeiro
img-capa

List(una lista) es una colección de objetos que mantiene el orden en el que se agregan. ¿Qué estructura de datos estamos usando detrás de una lista? ¿Cuándo usarla? Esto es lo que veremos aquí con el código directamente en C#.

Nos llamaron para resolver el problema de una tienda que tiene dificultades para almacenar los datos de sus productos, ya que cuenta con un sistema de producción. Sin embargo, este sistema no incluye la parte de almacenamiento del producto.

Debido a esto, en ocasiones faltan datos o hay datos incorrectos, como por ejemplo, la cantidad de productos en el inventario no coincide con las notas. Luego de analizar todo el contexto decidimos utilizar C# para que sea compatible con el sistema que tiene la empresa.

Lo primero que vamos hacer es ver cómo se almacenan los datos en el cuaderno.

Nombre   | Cantidad  
--------------------
Manzana  | 100 
--------------------
Piña | 50 
--------------------

Cuando vemos estos datos, pensamos: ¿Qué podemos usar para almacenarlos?

Al igual que en las notas, podemos usar una estructura similar a esta tabla que, en el caso de C#, sería listas. Pero, ¿por dónde deberíamos empezar?

Comenzando la implementación

Podríamos comenzar creando una aplicación de consola y analizando lo que sabemos. En el cuaderno, tenemos las propiedades: Nombre y Cantidad. Entonces, partiremos del punto en el que debemos crear una clase que tenga ambos atributos juntos.

¿Qué nombre deberíamos darle a esta clase? Un buen nombre sería Producto, ya que dejamos claro lo que representa la clase.

public class Producto

Esta clase tendrá que tener los atributos de nombre y cantidad, con sus respectivos getters y setters.

public class Producto{
    public int Cantidad { get; set; }
      public string Nombre { get; set; } 
}

Con nuestra clase creada, comenzaremos a trabajar con las listas en nuestro archivo Program.cs.

Dado que queremos trabajar con listas, primero crearemos una lista de productos para poder almacenarla de la misma manera que en el cuaderno.

List<Producto> listaProductos = new List<Producto>

Una vez creada esta lista, necesitamos agregar elementos a ella para asegurarnos de que funcione de la mejor manera posible, pero ¿cómo podemos agregar elementos a esta lista?

Tenemos que instanciar un Producto y agregar valores a cada atributo para agregarlo a la lista.

Producto producto1 = new Producto();
producto1.Nombre = “Pina”;
producto1.Cantidad = 50;

Bien, ahora solo falta agregarlo a la lista. Para hacer esto, debemos llamar al método "add" de la lista.

listaProductos.add(producto1);

Tenemos que mostrar los valores que están en la lista, ¿cómo haremos esto?

Podemos usar un bucle foreach para recorrer la lista y mostrar los valores que contiene. Tendremos que decidir qué queremos hacer con cada producto de la lista.

foreach(Producto producto in listaProductos){
       Console.WriteLine(producto.Nombre);
 }

Modificando la lista

Además de agregar elementos, queremos modificar los elementos que están dentro de esta lista, ya que escribimos "piña" de manera incorrecta, está escrito como "pina" y no es así como se escribe. ¿Pero cómo podemos hacer esta modificación?

Cuando creamos una lista, esta tiene algo llamado índice, este índice es la numeración que está dentro de la lista, es decir, cada vez que creamos un elemento en la lista, este tendrá un índice.

Entonces, haremos esta modificación a partir del índice, donde cambiaremos "pina" por "piña". Primero, tomemos nuestra lista que contiene solo un índice y cambiemos el nombre que contiene la lista.

listaProductos[0].Nombre = "Piña";
listaProductos[0].Cantidad = 12;

Con esto, hemos cambiado el nombre en la lista, pero debemos verificar si esta modificación fue exitosa. Luego, recorreremos la lista nuevamente y mostraremos los valores que contiene.

foreach(Producto producto in listaProductos){
       Console.WriteLine(producto.Nombre);
} 

Después de esto, vamos a hacer el análisis de los elementos que están en el cuaderno, pero descubrimos que han dejado de vender piñas en esta tienda. Entonces, tenemos que quitar este elemento de nuestra lista, ¿cómo podemos hacerlo?

Eliminando un elemento de la lista

Para realizar la eliminación existen dos formas de hacerlo, podemos eliminar por índice o podemos eliminar directamente el producto. Entonces, mostraremos ambas formas.

Comenzaremos agregando un nuevo elemento a nuestra lista para poder demostrar ambas formas.

Producto producto2 = new Producto();

producto2.Nombre = “Banana”;
producto2.Cantidad = 100;

listaProductos.add(producto2);

Con un nuevo elemento agregado a nuestra lista, pensemos en la forma que ya conocemos. Bien, ya conocemos cómo funcionan los índices. Entonces, comenzaremos a eliminarlo de esta manera, pasando el índice que está en la lista como parámetro.

listaProductos.RemoveAt(0);

Aquí hemos eliminado por índice, ahora eliminaremos pasando el producto que queremos eliminar, para ello usaremos la función Remove, que espera uno de los objetos que están en la lista.

listaProductos.Remove(producto2);

Conclusión

Con esto hemos solucionado el problema que teníamos respecto a datos perdidos o datos incorrectos.

Con las listas aprendimos a almacenar, modificar y eliminar.

Si estás interesado en cómo funciona C# y cómo puedes usarlo mejor, aquí en Alura Latam tenemos una formación en C#, que presenta los fundamentos del lenguaje y de la programación orientada a objetos.

Este artículo fue traducido para Alura por Elias Ribeiro

Este artículo fue traducido para Alura Latam por Brenda Souza

Artículos de Tecnología

En Alura encontrarás variados cursos sobre . ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 273 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 273 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana