Remover duplicatas da lista em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Remova as duplicatas da lista com a classe HashSet em C#
  2. Remova duplicatas da lista com o método LINQ em C#
Remover duplicatas da lista em C#

Este tutorial irá apresentar os métodos para remover elementos duplicados de uma lista em C#.

Remova as duplicatas da lista com a classe HashSet em C#

A classe HashSet é usada para criar um conjunto em C#. Um conjunto é uma coleção desordenada bem conhecida de objetos distintos, o que significa que os elementos de um conjunto são desordenados e não se repetem. Podemos remover elementos repetidos de uma lista armazenando a lista em um HashSet e, em seguida, convertendo esse HashSet de volta em uma lista com a função ToList() do LINQ. O exemplo de código a seguir nos mostra como remover elementos duplicados de uma lista com a classe HashSet em 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);
    }
  }
}

Resultado:

1 2 3 4 5

Declaramos e inicializamos a lista de inteiros com valores repetidos listWithDuplicates no código acima. Em seguida, convertemos a lista para o conjunto hasWithoutDuplicates passando a lista no construtor da classe HashSet. Em seguida, convertemos o conjunto de volta na lista de inteiros listWithoutDuplicates com o método LINQ ToList(). No final, exibimos os elementos dentro da lista listWithoutDuplicates.

Remova duplicatas da lista com o método LINQ em C#

O LINQ integra a funcionalidade de consulta em estruturas de dados em C#. A função Distinct() do LINQ é usada para selecionar valores exclusivos de uma estrutura de dados em C#. A função ToList() do LINQ converte uma coleção de elementos em uma lista em C#. Podemos usar a função Distinct() para selecionar valores únicos e não repetitivos da lista e, em seguida, converter os valores selecionados de volta em uma lista com a função ToList() do LINQ. O exemplo de código a seguir nos mostra como remover valores duplicados de uma lista com o método LINQ em 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);
    }
  }
}

Resultado:

1 2 3 4 5

Declaramos e inicializamos a lista de inteiros com valores repetidos listWithDuplicates no código acima. Em seguida, selecionamos valores exclusivos dessa lista com a função Distinct() do LINQ. Em seguida, convertemos os valores selecionados para a lista de inteiros listWithoutDuplicates com a função 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

Artigo relacionado - Csharp List