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
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);
}
}
2Practica con el depurador
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.
- Eliminar duplicados Conserva solo la primera aparición de cada valor. Fácil
- Verificación de Pangrama Un pangrama contiene cada letra del alfabeto inglés al menos una vez. Fácil