Colecciones en C#

Las colecciones en C# son estructuras de datos fundamentales que permiten almacenar y manipular conjuntos de elementos de manera eficiente. En este artículo, exploraremos qué son las colecciones, los diferentes tipos disponibles en C# y cómo puedes utilizarlas en tus proyectos. Además, proporcionaremos ejemplos de código para ilustrar su uso en diferentes escenarios.

¿Qué es una Colección en C#?

Una colección en C# es una estructura de datos que puede contener múltiples elementos del mismo tipo o de tipos diferentes. Estas colecciones proporcionan métodos y propiedades para agregar, eliminar, buscar y manipular elementos de manera eficiente.

Tipos de Colecciones en C#

En C#, hay varias clases predefinidas que representan diferentes tipos de colecciones. Algunas de las colecciones más comunes son:

  1. Listas (List<T>): Una lista es una colección ordenada de elementos que permite duplicados y proporciona acceso rápido a los elementos por su índice.
  2. Diccionarios (Dictionary<TKey, TValue>): Un diccionario es una colección de pares clave-valor en la que cada elemento se accede mediante una clave única.
  3. Conjuntos (HashSet<T>): Un conjunto es una colección que no permite duplicados y proporciona operaciones eficientes de inserción, eliminación y búsqueda.
  4. Colas (Queue<T>): Una cola es una colección que sigue el principio FIFO (First In, First Out), donde el primer elemento agregado es el primero en ser eliminado.
  5. Pilas (Stack<T>): Una pila es una colección que sigue el principio LIFO (Last In, First Out), donde el último elemento agregado es el primero en ser eliminado.

Ejemplos de Uso de Colecciones en C#

A continuación, mostraremos ejemplos de cómo puedes utilizar algunas de estas colecciones en tus proyectos.

Ejemplo de Lista:


using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        List<int> numeros = new List<int>();

        // Agregar elementos a la lista
        numeros.Add(10);
        numeros.Add(20);
        numeros.Add(30);

        // Acceder a elementos por índice
        Console.WriteLine(numeros[0]); // Imprimirá 10

        // Recorrer la lista
        foreach (int num in numeros)
        {
            Console.WriteLine(num);
        }
    }
}

Lenguaje del código: C# (cs)

Ejemplo de Diccionario:


using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        Dictionary<string, int> edades = new Dictionary<string, int>();

        // Agregar elementos al diccionario
        edades.Add("Juan", 30);
        edades.Add("María", 25);
        edades.Add("Pedro", 35);

        // Acceder a elementos por clave
        Console.WriteLine(edades["Juan"]); // Imprimirá 30

        // Recorrer el diccionario
        foreach (var pareja in edades)
        {
            Console.WriteLine("{0}: {1}", pareja.Key, pareja.Value);
        }
    }
}

Lenguaje del código: C# (cs)

Ejemplo de Conjunto:


using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        HashSet<int> numeros = new HashSet<int>();

        // Agregar elementos al conjunto
        numeros.Add(10);
        numeros.Add(20);
        numeros.Add(30);
        numeros.Add(10); // No se agregará, ya que no se permiten duplicados

        // Verificar si un elemento está presente en el conjunto
        Console.WriteLine(numeros.Contains(20)); // Imprimirá True

        // Recorrer el conjunto
        foreach (int num in numeros)
        {
            Console.WriteLine(num);
        }
    }
}

Lenguaje del código: C# (cs)

Conclusiones

Las colecciones en C# son herramientas poderosas que te permiten almacenar y manipular datos de manera eficiente en tus aplicaciones. Al comprender los diferentes tipos de colecciones disponibles y cómo utilizarlos en tus proyectos, puedes escribir código más limpio, modular y fácil de mantener.