Ejercicios de C#

Filtrar etiquetas sin repetir con HashSet en C#

En esta lección vas a usar un HashSet para quedarte solo con etiquetas distintas, sin tener en cuenta mayúsculas y minúsculas.

Introducción

HashSet<T> es una colección que guarda cada valor una sola vez, ideal cuando necesitas valores únicos, como la lista de etiquetas de un artículo. Un HashSet también comprueba muy rápido si un valor ya está dentro.

El HashSet se crea con el comparador StringComparer.OrdinalIgnoreCase, así que "C#" y "c#" cuentan como la misma etiqueta. Al inicializarlo con tres valores, la etiqueta repetida se ignora y el conjunto solo contiene 2 elementos. Sin ese comparador, las dos formas de escribirla serían dos etiquetas distintas.

Mira cómo funciona

Elige una operación para resaltar su resultado en el diagrama. Añade un valor que ya esté en el conjunto para ver que los duplicados se ignoran.

Ejemplo de C# ejecutable

C#
Ejecutar código →
Program.cs
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        var tags = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "C#", "dotnet", "c#" };
        Console.WriteLine(tags.Count);
    }
}
Resultado de la ejecución
2

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

Practica con un reto

Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.

Todos los retos