Duplikate aus Liste entfernen in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Entfernen von Duplikaten aus der Liste mit der Klasse HashSet in C#
  2. Entfernen von Duplikaten aus der Liste mit der LINQ-Methode in C#
Duplikate aus Liste entfernen in C#

In diesem Tutorial werden die Methoden zum Entfernen doppelter Elemente aus einer Liste in C# vorgestellt.

Entfernen von Duplikaten aus der Liste mit der Klasse HashSet in C#

Die HashSet-Klasse wird verwendet, um eine Menge in C# zu erstellen. Eine Menge ist eine bekannte, ungeordnete Sammlung unterschiedlicher Objekte. Dies bedeutet, dass die Elemente einer Menge ungeordnet sind und sich nicht wiederholen. Wir können sich wiederholende Elemente aus einer Liste entfernen, indem wir die Liste in einem HashSet speichern und dieses HashSet dann mit der Funktion ToList() von LINQ wieder in eine Liste konvertieren. Das folgende Codebeispiel zeigt, wie doppelte Elemente mit der Klasse HashSet in C# aus einer Liste entfernt werden.

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);
    }
  }
}

Ausgabe:

1
2
3
4
5

Wir haben die Liste der Ganzzahlen mit den sich wiederholenden Werten listWithDuplicates im obigen Code deklariert und initialisiert. Anschließend haben wir die Liste in die Menge hasWithoutDuplicates konvertiert, indem wir die Liste im Konstruktor der Klasse HashSet übergeben haben. Anschließend haben wir die Menge mit der LINQ-Methode ToList() wieder in die Liste der Ganzzahlen listWithoutDuplicates konvertiert. Am Ende haben wir die Elemente in der Liste listWithoutDuplicates angezeigt.

Entfernen von Duplikaten aus der Liste mit der LINQ-Methode in C#

Der LINQ integriert die Abfragefunktionalität in Datenstrukturen in C#. Mit der Funktion Distinct() des LINQ werden eindeutige Werte aus einer Datenstruktur in C# ausgewählt. Die Funktion ToList() des LINQ konvertiert eine Sammlung von Elementen in eine Liste in C#. Mit der Funktion Distinct() können Sie eindeutige, sich nicht wiederholende Werte aus der Liste auswählen und die ausgewählten Werte dann mit der Funktion ToList() von LINQ wieder in eine Liste konvertieren. Das folgende Codebeispiel zeigt, wie Sie mit der LINQ-Methode in C# doppelte Werte aus einer Liste entfernen.

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);
    }
  }
}

Ausgabe:

1
2
3
4
5

Wir haben die Liste der Ganzzahlen mit den sich wiederholenden Werten listWithDuplicates im obigen Code deklariert und initialisiert. Wir haben dann mit der Funktion Distinct() von LINQ eindeutige Werte aus dieser Liste ausgewählt. Anschließend haben wir die ausgewählten Werte mit der LINQ-Funktion ToList() in die Liste der Ganzzahlen listWithoutDuplicates konvertiert.

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

Verwandter Artikel - Csharp List