IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# LINQ Distinct (Funktionsweise für Entwickler)

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

Die Abfragesprache Language-integrated query (LINQ), ein mächtiges Sprachfeature in C#, ermöglicht Programmierern das Erstellen klarer, ausdrucksstarker Abfragen für eine Vielzahl von Datenquellen. Dieser Beitrag wird die Verwendung von IronPDF, einer vielseitigen C#-Bibliothek zur Arbeit mit PDF-Dokumenten, unter Verwendung der Funktion LINQ's Distinct diskutieren. Wir werden zeigen, wie diese Kombination den Prozess der Erstellung einzigartiger Dokumente aus einer Sammlung erleichtern kann. In diesem Artikel werden wir die C# LINQ distinct Funktion mit IronPDF kennenlernen.

Wie man die C# LINQ Distinct-Methode verwendet

  1. Erstellen Sie ein neues Konsolenprojekt.
  2. Importieren Sie den System.Linq-Namespace.
  3. Erstellen Sie eine Liste mit mehreren Elementen.
  4. Rufen Sie die Methode Distinct() aus der Liste auf.
  5. Erhalten Sie die eindeutigen Werte und zeigen Sie das Ergebnis in der Konsole an.
  6. Entsorgen Sie alle erstellten Objekte.

Was ist LINQ

Entwickler können mit dem LINQ (Language Integrated Query) Feature von C# direkt in ihrem Code klare und ausdrucksstarke Abfragen zur Datenmanipulation erstellen. Erstmals in .NET Framework 3.5 eingeführt, bietet LINQ eine standardisierte Syntax für Abfragen an eine Vielzahl von Datenquellen, einschließlich Datenbanken und Sammlungen. LINQ macht einfache Aufgaben wie Filtern und Projektion einfacher durch die Verwendung von Operatoren wie Where und Select, was die Lesbarkeit des Codes verbessert. Da es eine verzögerte Ausführung für optimale Geschwindigkeit ermöglicht, ist dieses Feature für C#-Entwickler entscheidend, um sicherzustellen, dass Datenmanipulationsoperationen schnell und natürlich in einer SQL-ähnlichen Weise abgeschlossen werden.

LINQ Distinct verstehen

Doppelte Elemente können aus einer Sammlung oder Sequenz entfernt werden, indem die LINQ-Funktion Distinct verwendet wird. In Abwesenheit eines benutzerdefinierten Vergleichers vergleicht es Elemente mit ihrem Standardvergleicher. Dies macht es zu einer großartigen Option in Situationen, in denen Sie mit einer einzigartigen Sammlung arbeiten und doppelte Komponenten entfernen müssen. Die Technik Distinct verwendet die Standard-Gleichheitsvergleichsmethoden, um Werte zu bewerten. Es wird Duplikate ausschließen, um nur eindeutige Elemente zurückzugeben.

Grundlegende Verwendung

Um eindeutige Elemente zu erhalten, ist es der einfachste Weg, die Methode Distinct direkt auf einer Sammlung zu verwenden.

using System.Linq;
using System.Collections.Generic;

public class DistinctExample
{
    public static void Example()
    {
        // Example list with duplicate integers
        List<int> numbers = new List<int> { 1, 2, 2, 3, 4, 4, 5 };

        // Using Distinct to remove duplicates
        var distinctNumbers = numbers.Distinct();

        // Display the distinct numbers
        foreach (var number in distinctNumbers)
        {
            Console.WriteLine(number);
        }
    }
}

Benutzerdefinierter Gleichheitsvergleicher

Sie können einen benutzerdefinierten Gleichheitsvergleich definieren, indem Sie eine Überladung der Funktion Distinct verwenden. Dies ist hilfreich, wenn Sie Elemente gemäß bestimmten Kriterien vergleichen möchten. Bitte beachten Sie das folgende Beispiel:

using System;
using System.Collections.Generic;
using System.Linq;

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class PersonEqualityComparer : IEqualityComparer<Person>
{
    public bool Equals(Person x, Person y)
    {
        return x.FirstName == y.FirstName && x.LastName == y.LastName;
    }

    public int GetHashCode(Person obj)
    {
        return obj.FirstName.GetHashCode() ^ obj.LastName.GetHashCode();
    }
}

public class DistinctCustomComparerExample
{
    public static void Example()
    {
        // Example list of people
        List<Person> people = new List<Person>
        {
            new Person { FirstName = "John", LastName = "Doe" },
            new Person { FirstName = "Jane", LastName = "Doe" },
            new Person { FirstName = "John", LastName = "Doe" }
        };

        // Using Distinct with a custom equality comparer
        var distinctPeople = people.Distinct(new PersonEqualityComparer());

        // Display distinct people
        foreach (var person in distinctPeople)
        {
            Console.WriteLine($"{person.FirstName} {person.LastName}");
        }
    }
}

Verwendung von Distinct mit Werttypen

Es ist nicht erforderlich, einen benutzerdefinierten Gleichheitsvergleich bereitzustellen, wenn Sie die Methode Distinct mit Wertetypen verwenden.

using System;
using System.Collections.Generic;
using System.Linq;

public class DistinctValueTypeExample
{
    public static void Example()
    {
        List<int> integers = new List<int> { 1, 2, 2, 3, 4, 4, 5 };

        // Using Distinct to remove duplicates
        var distinctIntegers = integers.Distinct();

        // Display distinct integers
        foreach (var integer in distinctIntegers)
        {
            Console.WriteLine(integer);
        }
    }
}

Verwendung von Distinct mit anonymen Typen

Distinct kann mit anonymen Typen verwendet werden, um Duplikate basierend auf bestimmten Attributen zu entfernen. Bitte beachten Sie das folgende Beispiel:

using System;
using System.Collections.Generic;
using System.Linq;

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class DistinctAnonymousTypesExample
{
    public static void Example()
    {
        List<Person> people = new List<Person>
        {
            new Person { FirstName = "John", LastName = "Doe" },
            new Person { FirstName = "Jane", LastName = "Doe" },
            new Person { FirstName = "John", LastName = "Doe" }
        };

        // Using Distinct with anonymous types
        var distinctPeople = people
            .Select(p => new { p.FirstName, p.LastName })
            .Distinct();

        // Display distinct anonymous types
        foreach (var person in distinctPeople)
        {
            Console.WriteLine($"{person.FirstName} {person.LastName}");
        }
    }
}

Unterscheidung durch eine bestimmte Eigenschaft

Beim Arbeiten mit Objekten können Sie entweder Ihre eigene Logik zum Unterscheiden nach einem bestimmten Attribut erstellen oder die DistinctBy-Erweiterungsmethode von Drittanbieter-Bibliotheken (wie MoreLINQ) verwenden.

// Ensure to include the MoreLINQ Library
using MoreLinq;
using System;
using System.Collections.Generic;
using System.Linq;

public class Person
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class DistinctByExample
{
    public static void Example()
    {
        List<Person> people = new List<Person>
        {
            new Person { Id = 1, FirstName = "John", LastName = "Doe" },
            new Person { Id = 2, FirstName = "Jane", LastName = "Doe" },
            new Person { Id = 1, FirstName = "John", LastName = "Doe" }
        };

        // Using DistinctBy to filter distinct people by Id
        var distinctPeople = people.DistinctBy(p => p.Id);

        // Display distinct people
        foreach (var person in distinctPeople)
        {
            Console.WriteLine($"{person.Id}: {person.FirstName} {person.LastName}");
        }
    }
}

IronPDF

Programmierer können mit Hilfe der .NET-Bibliothek IronPDF Website PDF-Dokumente unter Verwendung der C#-Sprache erstellen, bearbeiten und ändern. Das Programm bietet eine Reihe von Werkzeugen und Funktionen, um verschiedene Aufgaben im Zusammenhang mit PDF-Dateien zu ermöglichen, wie das Erstellen von PDFs aus HTML, das Konvertieren von HTML in PDF, das Zusammenführen oder Aufteilen von PDF-Dokumenten und das Hinzufügen von Text, Bildern und Anmerkungen zu bereits vorhandenen PDFs. Um mehr über IronPDF zu erfahren, beachten Sie bitte die IronPDF Dokumentation.

Das Hauptmerkmal von IronPDF ist die HTML zu PDF Konvertierung, die Ihre Layouts und Stile intakt hält. Sie können PDFs aus Webinhalten erstellen, ideal für Berichte, Rechnungen und Dokumentationen. Es unterstützt die Konvertierung von HTML-Dateien, URLs und HTML-Zeichenfolgen in PDF-Dateien.

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 in PDF konvertieren: Sie können IronPDF verwenden, um jede Art von HTML-Daten - einschließlich Dateien, URLs und HTML-Code-Zeichenfolgen - in PDF-Dokumente zu konvertieren.
  • PDF-Erzeugung: Text, Bilder und andere Elemente können programmgesteuert mit der C#-Programmiersprache zu PDF-Dokumenten hinzugefügt werden.
  • PDF-Bearbeitung: IronPDF kann eine PDF-Datei in mehrere Dateien aufteilen, mehrere PDF-Dokumente in eine Datei zusammenführen und bereits vorhandene PDFs bearbeiten.
  • PDF-Formulare: Die Bibliothek ermöglicht es Benutzern, PDF-Formulare zu erstellen und auszufüllen, wodurch sie in Szenarien nützlich ist, in denen Formulardaten gesammelt und verarbeitet werden müssen.
  • Sicherheitsfunktionen: IronPDF kann verwendet werden, um PDF-Dokumente zu verschlüsseln und Passwort- und Berechtigungsschutz bereitzustellen.
  • Textextraktion: Text aus PDF-Dateien kann mit IronPDF extrahiert werden.

IronPDF installieren

Holen Sie sich die IronPDF-Bibliothek; es wird benötigt, um Ihr Projekt einzurichten. Geben Sie den folgenden Code in die NuGet-Paketmanager-Konsole ein, um dies zu erreichen:

PM > Install-Package IronPdf

C# LINQ Distinct (How It Works For Developers): Figure 1 - To install the IronPDF library using the NuGet Package Manager Console, enter the following command: "Install IronPDF" or ".NET add package IronPDF"

Die Verwendung des NuGet-Paketmanagers zur Suche nach dem Paket "IronPDF" ist eine weitere Option. Wir können aus dieser Liste der mit IronPDF verbundenen NuGet-Pakete das benötigte Paket auswählen und herunterladen.

C# LINQ Distinct (How It Works For Developers): Figure 2 - To install the IronPDF library using the NuGet Package Manager, search for the package "IronPDF" in the Browse tab and choose the latest version of IronPDF package to download and install in your project.

LINQ mit IronPDF

Betrachten Sie eine Situation, in der Sie einen Satz von Daten haben und verschiedene PDF-Dokumente gemäß unterschiedlichen Werten in diesem Satz erstellen möchten. Hier zeigt sich die Nützlichkeit von LINQs Distinct, insbesondere wenn es mit IronPDF verwendet wird, um schnell Dokumente zu erstellen.

Erzeugung eindeutiger PDFs mit LINQ und IronPDF

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

public class DocumentGenerator
{
    public static void Main()
    {
        // Sample data representing categories
        List<string> categories = new List<string>
        {
            "Technology",
            "Business",
            "Health",
            "Technology",
            "Science",
            "Business",
            "Health"
        };

        // Use LINQ Distinct to filter out duplicate values
        var distinctCategories = categories.Distinct();

        // Generate a distinct elements PDF document for each category
        foreach (var category in distinctCategories)
        {
            GeneratePdfDocument(category);
        }
    }
    
    private static void GeneratePdfDocument(string category)
    {
        // Create a new PDF document using IronPDF
        IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
        PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
        
        // Save the PDF to a file
        string pdfFilePath = $"{category}_Report.pdf";
        pdf.SaveAs(pdfFilePath);
        
        // Display a message with the file path
        Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
    }
}

In diesem Beispiel wird eine Reihe von eindeutigen Kategorien erhalten, indem die Methode Distinct für die Kategorien-Sammlung verwendet wird. Es hilft, doppelte Elemente aus einer Sequenz zu entfernen. Anschließend wird IronPDF verwendet, um ein PDF-Dokument mit diesen einzigartigen Elementen zu erstellen. Diese Methode gewährleistet, dass separate PDF-Dokumente ausschließlich für eindeutige Kategorien erstellt werden.

Konsole OUTPUT

C# LINQ Distinct (Wie es für Entwickler funktioniert): Abbildung 3 - Konsolenausgabe

Generierte PDF-Ausgabe

C# LINQ Distinct (Wie es für Entwickler funktioniert): Abbildung 4 - PDF-Ausgabe: Technologiebericht

Um mehr über das IronPDF-Codebeispiel zur PDF-Generierung mit HTML zu erfahren, beziehen Sie sich bitte auf den IronPDF HTML zu PDF Beispielcode.

Abschluss

Die LINQ-Distinct-Erweiterungsmethode in Verbindung mit IronPDF bietet einen robusten und effizienten Mechanismus zur Erstellung einzigartiger PDF-Dokumente basierend auf Werten. Diese Methode strafft den Code und gewährleistet eine effektive Dokumentengenerierung, egal ob Sie mit Kategorien, Tags oder anderen Daten arbeiten, bei denen separate Dokumente benötigt werden.

Sie können eine zuverlässige und ausdrucksstarke Lösung zur Verwaltung verschiedener Aspekte Ihrer C#-Anwendungen entwickeln, indem Sie LINQ für die Datenverarbeitung und IronPDF für die Dokumentenerstellung verwenden. Wenn Sie diese Strategien für Ihre Projekte verwenden, denken Sie an die besonderen Anforderungen Ihrer Anwendung und passen Sie die Implementierung an, um maximale Zuverlässigkeit und Leistung zu erreichen.

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

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

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

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

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.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $