C# HashSet – Mit Beispielen erklärt

c# hashset

Willkommen zu unserem C# HashSet Guide! Hier lernst du alles, was du über diese praktische Klasse wissen musst. Also legen wir los!

Was ist ein C# HashSet?

Ein HashSet ist eine Datenstruktur, die du in C# verwenden kannst, um eine Menge eindeutiger Werte zu speichern. Im Gegensatz zu einer Liste oder einem Array, die mehrere Kopien eines Wertes zulassen, wird in einem C# HashSet jeder Wert nur einmal gespeichert.

Mit meinem kostenlosen Videokurs zu den Grundlagen von C# findest du den perfekten Einstieg in die Softwareentwicklung mit C#. Egal, ob du C# als Hobby, für die Uni oder für eine neue Karriere lernen möchtest, mit diesem Kurs lernst du C# schnell, einfach und professionell.
Mit meinem kostenlosen Videokurs zu den Grundlagen von C# findest du den perfekten Einstieg in die Softwareentwicklung mit C#.

Warum du ein HashSet verwenden solltest

Es gibt mehrere Gründe, warum du ein HashSet in C# verwenden solltest:

Geschwindigkeit: Das Suchen nach einem Wert in einem HashSet ist schneller als in einer Liste oder einem Array, weil das HashSet einen schnelleren Algorithmus verwendet.

Eindeutigkeit: Wie bereits erwähnt, werden in einem HashSet keine doppelten Werte gespeichert.

Einfachheit: Das Hinzufügen oder Entfernen von Werten aus einem HashSet ist einfacher als in anderen Datenstrukturen.

HashSets in der echten Welt

In der echten real-world C# Programmierung werden HashSets häufig verwendet, um schnell nach Duplikaten in einer Sammlung zu suchen und Daten ohne Duplikate zu speichern.

Hier sind einige Anwendungsfälle:

Überprüfung auf Duplikate

Du kannst ein HashSet verwenden, um zu überprüfen, ob ein bestimmter Wert bereits in einer Sammlung vorhanden ist, bevor du ihn hinzufügst. Auf diese Weise kannst du Duplikate vermeiden.

Überschneidung von Sammlungen

Du kannst zwei HashSets miteinander vergleichen, um zu überprüfen, welche Werte in beiden Sammlungen vorhanden sind.

Daten ohne Duplikate

HashSets sind gut geeignet, um Daten ohne Duplikate zu speichern. Dies kann besonders nützlich sein, wenn du mit großen Datenmengen arbeitest.

Vearbeitung von Daten

HashSets können verwendet werden, um Daten zu speichern und zu verarbeiten, wie zum Beispiel bei der Verwendung von Daten für eine Suche oder eine Filterfunktion.

Dies sind nur einige Beispiele für die Verwendung von HashSets in der C# Programmierung. Abhängig von den spezifischen Anforderungen deines Projekts kannst du HashSets auch auf andere Weisen einsetzen.

Wie du ein C# HashSet verwendest

Das Verwenden eines HashSets in C# ist einfach. Hier ist ein Beispiel:

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        HashSet<int> meineZahlen = new HashSet<int>();

        meineZahlen.Add(1);
        meineZahlen.Add(2);
        meineZahlen.Add(3);
        meineZahlen.Add(3); // Dieser Wert wird nicht hinzugefügt, weil er bereits vorhanden ist.

        foreach (int zahl in meineZahlen)
        {
            Console.WriteLine(zahl);
        }

        Console.ReadLine();
    }
}

Dies ist ein einfaches Beispiel, aber es zeigt, wie du ein HashSet erstellen und Werte hinzufügen kannst. Beachte, dass der dritte Aufruf von meineZahlen.Add(3) keine Auswirkung hat, da der Wert bereits vorhanden ist.

Methoden im HashSet

Ein HashSet bietet mehrere Methoden, die du verwenden kannst, um mit deinen Werten zu arbeiten.

Hier sind einige der wichtigsten Methoden:

  • Add: Fügt einen neuen Wert zum HashSet hinzu.
  • Remove: Entfernt einen bestimmten Wert aus dem HashSet.
  • Contains: Überprüft, ob ein bestimmter Wert im HashSet vorhanden ist.
  • UnionWith: Fügt die Werte aus einem anderen HashSet zu diesem HashSet hinzu.
  • IntersectWith: Behält nur die Werte im HashSet, die auch in einem anderen HashSet vorhanden sind.
  • Clear: Entfernt alle Werte aus dem HashSet.

Hier ist ein Beispiel, das zeigt, wie du einige dieser Methoden verwenden kannst:

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        HashSet<int> meineZahlen = new HashSet<int>();
        meineZahlen.Add(1);
        meineZahlen.Add(2);
        meineZahlen.Add(3);

        HashSet<int> andereZahlen = new HashSet<int>();
        andereZahlen.Add(3);
        andereZahlen.Add(4);
        andereZahlen.Add(5);

        Console.WriteLine("meineZahlen enthält 3: " + meineZahlen.Contains(3));
        Console.WriteLine("meineZahlen enthält 4: " + meineZahlen.Contains(4));

        meineZahlen.Remove(1);
        Console.WriteLine("meineZahlen enthält 1: " + meineZahlen.Contains(1));

        meineZahlen.UnionWith(andereZahlen);
        Console.WriteLine("meineZahlen nach UnionWith:");
        foreach (int zahl in meineZahlen)
        {
            Console.WriteLine(zahl);
        }

        meineZahlen.IntersectWith(andereZahlen);
        Console.WriteLine("meineZahlen nach IntersectWith:");
        foreach (int zahl in meineZahlen)
        {
            Console.WriteLine(zahl);
        }

        Console.ReadLine();
    }
}

In diesem Beispiel werden zwei HashSets erstellt und die Methoden Add, Remove, Contains, UnionWith und IntersectWith verwendet.

Zusammenfassung

Das war unser C# HashSet Guide! Du hast gelernt, was ein HashSet ist, warum du es verwenden solltest und wie du es verwenden kannst. Du kennst jetzt auch einige der wichtigsten Methoden im HashSet.

Wir hoffen, dass dieser Artikel hilfreich für dich war und dass du jetzt ein besseres Verständnis für C# HashSets hast. Vergiss nicht, dass HashSets besonders nützlich sind, wenn es darum geht, schnell nach Duplikaten in einer Sammlung zu suchen, und dass sie auch gut geeignet sind, um schnell mit großen Datenmengen zu arbeiten.

Wenn du noch mehr über C# HashSets lernen möchtest, dann schau mal hier nach.

✅ Lerne alle Grundlagen der C# Programmierung ✅ Der ideale Einstieg in die Softwareentwicklung ✅ 30+ HD Videolektionen ✅ Komplett kostenlos ✅ Sofortiger Zugriff
Der C# Grundlagenkurs
Kostenlos
Overlay Image
Der C# Grundlagenkurs
Kostenlos
✅ Alle Grundlagen der C# Programmierung ✅ Der ideale Einstieg in die Entwicklung ✅ 30+ HD Videolektionen ✅ Komplett kostenlos ✅ Sofortiger Zugriff
Overlay Image