Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

382
Vistas
¿Cómo convertir List<T> a HashSet<T> en C#?

Tengo una Lista que tiene duplicados de objetos. Para resolver eso, necesito convertir la Lista en un HashSet (en C#). ¿Alguien sabe cómo?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Asegúrese de que la clase de su objeto anule Equals y GetHashCode y luego puede pasar List<T> al constructor HashSet<T> .

 var hashSet = new HashSet<YourType>(yourList);

Puede ver: ¿Cuál es el mejor algoritmo para un System.Object.GetHashCode anulado?

over 4 years ago · Santiago Trujillo Denunciar

0

Una forma alternativa sería

 var yourlist = new List<SomeClass>(); // [...] var uniqueObjs = yourlist.Distinct(); //Gives you a List with unique Objects of the List.

Tenga en cuenta que esto solo es posible si SomeClass anula GetHashCode y Equals de alguna manera. Esto también es cierto para

 var uniqueObjs = new HashSet<SomeType>(yourOriginalList);

De lo contrario, podría implementar su propia clase IEqualityComnparer y pasarla a distinto.

Tenga en cuenta que con el enfoque Distinct() , también puede buscar distintos valores de propiedad del objeto en la lista:

 var uniqueNames = yourlist.Select(obj => obj.Name).Distinct();

y algo más...

over 4 years ago · Santiago Trujillo Denunciar

0

Si su tipo implementa IEquatable<T> , Equals() y GetHashCode() correctamente, entonces no necesita realizar la desduplicación usted mismo. Puede usar Distinct() de Linq para hacerlo así:

 myList = myList.Distinct().ToList();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda