IRONSOFTWAREHOME
ENTWICKLER-UPDATES

HashSet C# (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 23. April 2026

Programmierung in C# ist flexibel und bietet eine große Auswahl an Datenstrukturen zur effektiven Verwaltung verschiedener Aufgaben. Das HashSet ist eine solche leistungsstarke Datenstruktur, die einzigartige Komponenten und eine konstante durchschnittliche Zeitkomplexität für grundlegende Operationen bietet. Dieser Beitrag wird die Verwendung von HashSet in C# untersuchen und wie es zusammen mit IronPDF, einer leistungsstarken Bibliothek für die Arbeit mit PDF-Dokumenten, eingesetzt werden kann.

Wie man HashSet in C# verwendet

  1. Erstellen Sie ein neues Konsolen-App-Projekt.
  2. Erstellen Sie ein Objekt für das HashSet in C#. Fügen Sie den Standardwert zum HashSet hinzu.
  3. Beim Hinzufügen entfernt HashSet automatisch doppelte Elemente, indem es überprüft, ob das Element vorhanden ist.
  4. Verarbeiten Sie das HashSet nur mit eindeutigen Elementen nacheinander.
  5. Anzeigen des Ergebnisses und Freigabe des Objekts.

Verständnis von HashSet in C#

HashSet in C# wurde entwickelt, um leistungsstarke Mengenoperationen bereitzustellen. Ein HashSet ist die perfekte Sammlung, die in Situationen verwendet werden kann, in denen Sie eine eindeutige Datenmenge behalten müssen, da es doppelte Elemente verhindert. Es ist im System.Collections.Generic-Namespace enthalten und bietet schnelle Einfüge-, Lösch-, schnellere Abrufs- und Suchoperationen. In C# verwenden Sie die Methoden von HashSet-Gruppenoperationen, die es Ihnen ermöglichen, Standardgruppenoperationen einfach durchzuführen. Die HashSet-Klasse bietet Methoden für Gruppenoperationen.

Die folgenden sind einige Verwendungen von HashSet in C#:

Initialisierung und grundlegende Operationen

Ein HashSet einrichten und grundlegende Aktionen wie Hinzufügen, Löschen und Überprüfen des Vorhandenseins von Einträgen durchführen.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Initializes a HashSet of integers
        HashSet<int> numbers = new HashSet<int>();

        // Adds elements to the HashSet
        numbers.Add(1);
        numbers.Add(2);
        numbers.Add(3);

        // Removes an element from the HashSet
        numbers.Remove(2);

        // Checks for membership of an element
        bool containsThree = numbers.Contains(3);

        Console.WriteLine($"Contains 3: {containsThree}");
    }
}

Initialisierung mit Collection

Verwenden einer vorhandenen Sammlung als Ausgangspunkt für ein HashSet, wodurch Duplikate sofort entfernt werden.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Creates a list with duplicate elements
        List<int> duplicateNumbers = new List<int> { 1, 2, 2, 3, 3, 4 };

        // Initializes a HashSet with the list, automatically removes duplicates
        HashSet<int> uniqueNumbers = new HashSet<int>(duplicateNumbers);

        Console.WriteLine("Unique numbers:");
        foreach (var number in uniqueNumbers)
        {
            Console.WriteLine(number);
        }
    }
}

Vereinigung mit einem anderen HashSet

Kombinieren von zwei HashSet-Instanzen, um einen neuen Satz zu erstellen, der einzigartige Elemente aus beiden Sätzen mithilfe der UnionWith-Funktion kombiniert.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
        HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };

        // Merges set2 into set1
        set1.UnionWith(set2);

        Console.WriteLine("Union of set1 and set2:");
        foreach (var item in set1)
        {
            Console.WriteLine(item);
        }
    }
}

Intersektion mit einem anderen HashSet

Verwenden der IntersectWith-Funktion, um die gemeinsamen Komponenten zwischen zwei HashSet-Instanzen zu ermitteln.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
        HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };

        // Keeps only elements that are present in both sets
        set1.IntersectWith(set2);

        Console.WriteLine("Intersection of set1 and set2:");
        foreach (var item in set1)
        {
            Console.WriteLine(item);
        }
    }
}

Unterschied zu einem anderen HashSet

Verwenden der ExceptWith-Funktion, um die Elemente zu finden, die in einem HashSet, aber nicht in einem anderen vorhanden sind.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
        HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };

        // Removes elements from set1 that are also in set2
        set1.ExceptWith(set2);

        Console.WriteLine("Difference of set1 and set2:");
        foreach (var item in set1)
        {
            Console.WriteLine(item);
        }
    }
}

Überprüfung auf Teilmenge oder Obermenge:

Mit den Methoden IsSubsetOf und IsSupersetOf kann ermittelt werden, ob eine gegebene HashSet-Instanz eine Teilmenge oder Obermenge einer anderen ist.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
        HashSet<int> set2 = new HashSet<int> { 2, 3 };

        // Checks if set2 is a subset of set1
        bool isSubset = set2.IsSubsetOf(set1);

        // Checks if set1 is a superset of set2
        bool isSuperset = set1.IsSupersetOf(set2);

        Console.WriteLine($"Is set2 a subset of set1: {isSubset}");
        Console.WriteLine($"Is set1 a superset of set2: {isSuperset}");
    }
}

Symmetrische Abweichung

Verwenden der SymmetricExceptWith-Technik, um die symmetrische Differenz (Elemente, die in einem Satz vorhanden sind, aber nicht in beiden) zu ermitteln.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
        HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };

        // Keeps elements that are in set1 or set2 but not in both
        set1.SymmetricExceptWith(set2);

        Console.WriteLine("Symmetric difference of set1 and set2:");
        foreach (var item in set1)
        {
            Console.WriteLine(item);
        }
    }
}

IronPDF

Programmierer können die C#-Sprache verwenden, um PDF-Dokumente zu erzeugen, zu bearbeiten und zu ändern, indem sie die IronPDF for .NET-Bibliothek nutzen. Die Anwendung bietet eine breite Palette von Werkzeugen und Funktionen, um verschiedene Operationen mit PDF-Dateien zu ermöglichen, einschließlich der Erstellung neuer PDFs aus HTML, der Konvertierung von HTML in PDF, dem Kombinieren oder Teilen von PDF-Dokumenten und dem Anmerken bestehender PDFs mit Text, Fotos und anderen Daten. Um mehr über IronPDF zu erfahren, beziehen Sie sich auf die offizielle Dokumentation.

IronPDF überzeugt in der HTML-zu-PDF-Konvertierung, indem es den originalen Layouts und Stilen präzise erhält. Es ist ideal zur Erstellung von PDFs aus webbasierten Inhalten wie Berichten, Rechnungen und Dokumentationen. Mit Unterstützung für HTML-Dateien, URLs und rohe HTML-Strings erstellt IronPDF problemlos hochwertige PDF-Dokumente.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Funktionen von IronPDF

  • HTML-zu-PDF-Konvertierung: Alle Arten von HTML-Daten, einschließlich Dateien, URLs und HTML-Code-Strings, können mit IronPDF in PDF-Dokumente umgewandelt werden.
  • PDF-Erzeugung: Text, Bilder und andere Objekte können mit der C#-Programmiersprache programmgesteuert zu PDF-Dokumenten hinzugefügt werden.
  • PDF-Bearbeitung: IronPDF kann eine PDF-Datei in mehrere Dateien teilen und bestehende PDF-Dateien bearbeiten. Es kann mehrere PDF-Dateien zu einer einzigen Datei zusammenführen.
  • PDF-Formulare: Da die Bibliothek es Benutzern ermöglicht, PDF-Formulare zu erstellen und auszufüllen, ist sie in Szenarien nützlich, in denen Formulardaten gesammelt und verarbeitet werden müssen.
  • Sicherheitsfunktionen: IronPDF ermöglicht die Verschlüsselung von PDF-Dokumenten sowie Passwort- und Berechtigungssicherheit.

IronPDF installieren

Erwerben Sie die IronPDF-Bibliothek; der kommende Patch erfordert es. Um dies zu tun, geben Sie den folgenden Code in den Paketmanager ein:

PM > Install-Package IronPdf

or

dotnet add package IronPdf

HashSet C# (How It Works For Developers): Figure 1 - Install IronPDF library using Package Manager Console and entering the following commands: "Install-Package IronPdf" or ".NET add package IronPDF".

Eine weitere Möglichkeit besteht darin, mit dem NuGet-Paket-Manager nach dem Paket "IronPDF" zu suchen. Von allen NuGet-Paketen, die mit IronPDF in Verbindung stehen, können wir das erforderliche Paket aus dieser Liste auswählen und herunterladen.

HashSet C# (Wie es für Entwickler funktioniert): Abbildung 2 - Sie können die IronPDF-Bibliothek mit dem NuGet-Paketmanager installieren. Suchen Sie auf der Registerkarte 'Durchsuchen' nach dem Paket 'IronPDF', wählen Sie die neueste Version von IronPDF aus und installieren Sie diese.

HashSet mit IronPDF

Innerhalb der C#-Umgebung ist IronPDF eine leistungsstarke Bibliothek, die das Arbeiten mit PDF-Dokumenten erleichtert. In Situationen, in denen eine eindeutige Datenrepräsentation und eine effektive Dokumentenerstellung entscheidend sind, könnte die Kombination der Effizienz von HashSet mit den Fähigkeiten zur Dokumentenbearbeitung von IronPDF zu kreativen Lösungen führen.

Vorteile der Verwendung von HashSet mit IronPDF

  • Datenreduzierung: Indem sichergestellt wird, dass nur eindeutige Elemente gespeichert werden, helfen HashSets, Datenredundanz zu vermeiden. Dies ist äußerst hilfreich beim Umgang mit großen Datensätzen, um doppelte Informationen zu entfernen.
  • Effektive Suche: Grundlegende Operationen wie Einfügen, Löschen und Suchen können mit einer konstanten durchschnittlichen Komplexität mit HashSet durchgeführt werden. Diese Art von Leistung ist sehr wichtig beim Arbeiten mit unterschiedlich großen Datensätzen.
  • Vereinfachte Dokumentenproduktion: IronPDF vereinfacht den C# PDF-Dokumenten-Erstellungsprozess. Sie können schnelle und effektive Prozesse für die Erstellung origineller und dynamischer Inhalte für Ihre PDFs einrichten, indem Sie HashSet mit IronPDF integrieren.

Nun betrachten wir ein Beispiel aus der Praxis, in dem die Kombination von HashSet mit IronPDF nützlich sein könnte.

Erzeugung von PDF-Dateien mit eindeutigen Daten

using IronPdf;
using System;
using System.Collections.Generic;

class PdfGenerator
{
    static void Main()
    {
        // Sample user names with duplicates
        string[] userNames = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" };

        // Using HashSet to ensure unique user names
        HashSet<string> uniqueUserNames = new HashSet<string>(userNames);

        // Generating PDF with unique user names
        GeneratePdf(uniqueUserNames);
    }

    static void GeneratePdf(HashSet<string> uniqueUserNames)
    {
        // Create a new PDF document using IronPDF
        HtmlToPdf renderer = new HtmlToPdf();

        // Render a PDF from an HTML document consisting of unique user names
        var pdf = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames));

        // Save the PDF to a file
        string pdfFilePath = "UniqueUserNames.pdf";
        pdf.SaveAs(pdfFilePath);

        // Display a message with the file path
        Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
    }

    static string BuildHtmlDocument(HashSet<string> uniqueUserNames)
    {
        // Build an HTML document with unique user names
        string htmlDocument = "<html><body><ul>";
        foreach (var userName in uniqueUserNames)
        {
            htmlDocument += $"<li>{userName}</li>";
        }
        htmlDocument += "</ul></body></html>";
        return htmlDocument;
    }
}

Im obigen Codebeispiel speichern wir eindeutige Benutzernamen, die aus einem Array mit einem HashSet uniqueUserNames abgerufen wurden. Das HashSet eliminiert automatisch Duplikate. Als nächstes erstellen wir eine ungeordnete Liste dieser verschiedenen Benutzernamen in einem PDF-Dokument mit IronPDF. Um mehr über den Code zu erfahren, überprüfen Sie HTML verwenden, um ein PDF zu erstellen.

AUSGABE

HashSet C# (Wie es für Entwickler funktioniert): Abbildung 3 - Ausgabe: UniqueUserNames.pdf

Abschluss

Zusammenfassend ist die C# HashSet-Datenstruktur ein effektives Werkzeug zur Organisation von Sätzen aus einzigartigen Elementen. Es eröffnet neue Möglichkeiten für die dynamische, einzigartige und leistungsoptimierte Erstellung von PDF-Dokumenten, wenn es mit IronPDF kombiniert wird.

Wir haben gezeigt, wie man HashSet verwendet, um Daten-Eindeutigkeit zu gewährleisten, während IronPDF verwendet wird, um PDF-Dokumente im gegebenen Beispiel zu erstellen. Die Kombination von HashSet und IronPDF kann Ihnen helfen, starke und effektive C#-Anwendungen zu entwickeln, sei es bei der Daten-Deduplikation, Berichterstattung oder beim Verwalten dynamischer Inhalte. Während Sie weiter erkunden, berücksichtigen Sie die vielen Kontexte, in denen Sie diese Kombination verwenden können, um die Benutzerfreundlichkeit und Funktionalität Ihrer Anwendungen zu verbessern.

Die $999 Lite-Version von IronPDF wird mit einer unbefristeten Lizenz, Upgrade-Optionen und einem Jahr Software-Support geliefert. Während der lizenzierten Testperiode mit Wasserzeichen, um mehr über IronPDFs Preise, Lizenzen und kostenlose Testversion zu erfahren. Besuchen Sie die Iron Software-Website, um weitere Informationen über Iron Software zu erhalten.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.

...
Read More

Related Articles

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge related to IronPDF Product Demo

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.