Eliminar duplicados de la lista en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Eliminar duplicados de la lista con la clase HashSet en C#
  2. Eliminar duplicados de la lista con el método LINQ en C#
Eliminar duplicados de la lista en C#

Este tutorial presentará los métodos para eliminar elementos duplicados de una lista en C#.

Eliminar duplicados de la lista con la clase HashSet en C#

La clase HashSet se utiliza para crear un conjunto en C#. Un conjunto es una colección bien conocida y desordenada de objetos distintos, lo que significa que los elementos de un conjunto están desordenados y no se repiten. Podemos eliminar elementos repetidos de una lista almacenando la lista en un HashSet y luego convirtiendo ese HashSet de nuevo en una lista con la función ToList() de LINQ. El siguiente ejemplo de código nos muestra cómo eliminar elementos duplicados de una lista con la clase HashSet en C#.

using System;
using System.Collections.Generic;
using System.Linq;

namespace remove_duplicates_from_list {
  class Program {
    static void displayList(List<int> list) {
      foreach (var item in list) {
        Console.WriteLine(item);
      }
    }
    static void Main(string[] args) {
      List<int> listWithDuplicates = new List<int> { 1, 2, 1, 2, 3, 4, 5 };
      HashSet<int> hashWithoutDuplicates = new HashSet<int>(listWithDuplicates);
      List<int> listWithoutDuplicates = hashWithoutDuplicates.ToList();
      displayList(listWithoutDuplicates);
    }
  }
}

Producción :

1
2
3
4
5

Declaramos e inicializamos la lista de enteros con valores repetidos listWithDuplicates en el código anterior. Luego convertimos la lista al conjunto hasWithoutDuplicates pasando la lista en el constructor de la clase HashSet. Luego convertimos el conjunto de nuevo a la lista de enteros listWithoutDuplicates con el método LINQ ToList(). Al final, mostramos los elementos dentro de la lista listWithoutDuplicates.

Eliminar duplicados de la lista con el método LINQ en C#

LINQ integra la funcionalidad de consulta en estructuras de datos en C#. La función Distinct() de LINQ se utiliza para seleccionar valores únicos de una estructura de datos en C#. La función ToList() de LINQ convierte una colección de elementos en una lista en C#. Podemos usar la función Distinct() para seleccionar valores únicos, no repetidos de la lista y luego convertir los valores seleccionados nuevamente a una lista con la función ToList() de LINQ. El siguiente ejemplo de código nos muestra cómo eliminar valores duplicados de una lista con el método LINQ en C#.

using System;
using System.Collections.Generic;
using System.Linq;

namespace remove_duplicates_from_list {
  class Program {
    static void displayList(List<int> list) {
      foreach (var item in list) {
        Console.WriteLine(item);
      }
    }
    static void Main(string[] args) {
      List<int> listWithDuplicates = new List<int> { 1, 2, 1, 2, 3, 4, 5 };
      List<int> listWithoutDuplicates = listWithDuplicates.Distinct().ToList();
      displayList(listWithoutDuplicates);
    }
  }
}

Producción :

1
2
3
4
5

Declaramos e inicializamos la lista de enteros con valores repetidos listWithDuplicates en el código anterior. Luego seleccionamos valores únicos de esta lista con la función Distinct() de LINQ. Luego convertimos los valores seleccionados a la lista de enteros listWithoutDuplicates con la función LINQ ToList().

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Csharp List