Supprimer les doublons de la liste en C#

Muhammad Maisam Abbas 16 février 2024
  1. Supprimer les doublons de la liste avec la classe HashSet en C#
  2. Supprimer les doublons de la liste avec la méthode LINQ en C#
Supprimer les doublons de la liste en C#

Ce didacticiel présentera les méthodes pour supprimer les éléments en double d’une liste en C#.

Supprimer les doublons de la liste avec la classe HashSet en C#

La classe HashSet permet de créer un ensemble en C#. Un ensemble est une collection bien connue et non ordonnée d’objets distincts, ce qui signifie que les éléments d’un ensemble ne sont pas ordonnés et ne se répètent pas. Nous pouvons supprimer les éléments répétitifs d’une liste en stockant la liste dans un HashSet puis en reconvertissant ce HashSet en une liste avec la fonction ToList() de LINQ. L’exemple de code suivant nous montre comment supprimer les éléments en double d’une liste avec la classe 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);
    }
  }
}

Production:

1 2 3 4 5

Nous avons déclaré et initialisé la liste des entiers avec des valeurs répétitives listWithDuplicates dans le code ci-dessus. Nous avons ensuite converti la liste dans l’ensemble hasWithoutDuplicates en passant la liste dans le constructeur de la classe HashSet. Nous avons ensuite reconverti l’ensemble en liste d’entiers listWithoutDuplicates avec la méthode LINQ ToList(). Au final, nous avons affiché les éléments à l’intérieur de la liste listWithoutDuplicates.

Supprimer les doublons de la liste avec la méthode LINQ en C#

Le LINQ intègre la fonctionnalité de requête dans les structures de données en C#. La fonction Distinct() du LINQ permet de sélectionner des valeurs uniques à partir d’une structure de données en C#. La fonction ToList() du LINQ convertit une collection d’éléments en une liste en C#. Nous pouvons utiliser la fonction Distinct() pour sélectionner des valeurs uniques et non répétitives dans la liste, puis reconvertir les valeurs sélectionnées en une liste avec la fonction ToList() de LINQ. L’exemple de code suivant nous montre comment supprimer les valeurs en double d’une liste avec la méthode 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);
    }
  }
}

Production:

1 2 3 4 5

Nous avons déclaré et initialisé la liste des entiers avec des valeurs répétitives listWithDuplicates dans le code ci-dessus. Nous avons ensuite sélectionné des valeurs uniques dans cette liste avec la fonction Distinct() de LINQ. Nous avons ensuite converti les valeurs sélectionnées dans la liste d’entiers listWithoutDuplicates avec la fonction 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

Article connexe - Csharp List