Rimuovi duplicati dall'elenco in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Rimuovi i duplicati dall’elenco con la classe HashSet in C#
  2. Rimuovere i duplicati dall’elenco con il metodo LINQ in C#
Rimuovi duplicati dall'elenco in C#

Questo tutorial introdurrà i metodi per rimuovere gli elementi duplicati da una lista in C#.

Rimuovi i duplicati dall’elenco con la classe HashSet in C#

La HashSet class viene utilizzata per creare un set in C#. Un set è una raccolta ben nota e non ordinata di oggetti distinti, il che significa che gli elementi di un set non sono ordinati e non si ripetono. Possiamo rimuovere gli elementi ripetuti da una lista memorizzando la lista in un HashSet e quindi convertendo quell’ HashSet in una lista con la funzione ToList() di LINQ. Il seguente esempio di codice ci mostra come rimuovere gli elementi duplicati da una lista con la classe HashSet in 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);
    }
  }
}

Produzione:

1 2 3 4 5

Abbiamo dichiarato e inizializzato la lista di interi con valori ripetuti listWithDuplicates nel codice precedente. Abbiamo quindi convertito la lista nel set hasWithoutDuplicates passando la lista nel costruttore della classe HashSet. Abbiamo quindi riconvertito l’insieme nella lista degli interi listWithoutDuplicates con il metodo LINQ ToList(). Alla fine, abbiamo visualizzato gli elementi all’interno della lista listWithoutDuplicates.

Rimuovere i duplicati dall’elenco con il metodo LINQ in C#

LINQ integra la funzionalità di query nelle strutture di dati in C#. La funzione Distinct() di LINQ viene utilizzata per selezionare valori univoci da una struttura dati in C#. La funzione ToList() di LINQ converte una raccolta di elementi in una lista in C#. Possiamo usare la funzione Distinct() per selezionare valori univoci e non ripetitivi dall’elenco e quindi riconvertire i valori selezionati in una lista con la funzione ToList() di LINQ. L’esempio di codice seguente mostra come rimuovere i valori duplicati da una lista con il metodo LINQ in 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);
    }
  }
}

Produzione:

1 2 3 4 5

Abbiamo dichiarato e inizializzato la lista di interi con valori ripetuti listWithDuplicates nel codice precedente. Abbiamo quindi selezionato valori univoci da questo elenco con la funzione Distinct() di LINQ. Abbiamo quindi convertito i valori selezionati nella lista di interi listWithoutDuplicates con la funzione 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

Articolo correlato - Csharp List