IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Pair-Klasse (Funktionsweise für Entwickler)

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

Ein Paar ist eine einfache Datenstruktur, die zwei verwandte Werte hält. Es bietet eine bequeme Möglichkeit, zwei unterschiedliche Datenelemente zusammenzubundeln. Paare werden häufig verwendet, wenn eine Methode zwei Werte zurückgeben muss oder bei der Arbeit mit Schlüssel-Wert-Zuordnungen.

In C# greifen Entwickler oft auf die Verwendung von Tupeln (Tuple<T1, T2>) zurück, um Werte zu paaren. Allerdings sind Tupel unveränderlich, und auf ihre Elemente wird über Eigenschaften wie Item1 und Item2 zugegriffen, was bei häufiger Verwendung zu weniger lesbarem Code führen kann. Hier kommt eine benutzerdefinierte Pair-Klasse ins Spiel.

Wenn Sie eine Struktur benötigen, um zwei verwandte Objekte zu halten und die Datenverbergung keine Priorität hat, können Sie die Pair-Klasse in Ihrem Code verwenden. Die Pair-Klasse kapselt ihre Objekt-Referenzen nicht. Stattdessen macht sie sie direkt für alle aufrufenden Codes als öffentliche Klassenfelder zugänglich.

Diese Designentscheidung ermöglicht einen direkten Zugriff auf die enthaltenen Objekte ohne den Aufwand der Kapselung. Außerdem werden wir am Ende des Artikels erkunden, wie IronPDF for PDF Generation von Iron Software Overview zur Erstellung eines PDF-Dokuments verwendet werden kann.

Tupel

C# 7.0 führte Verbesserungen in der Tupel-Syntax ein, die die Arbeit mit Tupeln noch einfacher machen. So können Sie Tupel deklarieren und initialisieren:

// Tuple declaration
var person = (name: "John", age: 30);

// Accessing tuple elements using named properties
Console.WriteLine($"Name: {person.name}, Age: {person.age}");

// Tuple deconstruction
var (name, age) = person;
Console.WriteLine($"Name: {name}, Age: {age}");

Vorteile von Tupeln

Korrekte Syntax

Tupel ermöglichen es, komplexe Datenstrukturen mit einer prägnanten Syntax auszudrücken, ohne benutzerdefinierte Klassen oder Strukturen definieren zu müssen.

Leichtgewichtig

Tupel sind leichtgewichtige Datenstrukturen und eignen sich daher für Szenarien, in denen Sie temporäre oder Zwischenablagen für Daten benötigen.

Implizite Namensgebung

Mit der Tupel-Syntax können Sie Tupel-Elemente implizit benennen, was die Lesbarkeit des Codes verbessert und den Bedarf an Kommentaren verringert.

Mehrere Werte von Methoden zurückliefern

public (int Quotient, int Remainder) Divide(int dividend, int divisor)
{
    int quotient = dividend / divisor;
    int remainder = dividend % divisor;
    return (quotient, remainder);
}

var result = Divide(10, 3);
Console.WriteLine($"Quotient: {result.Quotient}, Remainder: {result.Remainder}");

Vereinfachung von Methodensignaturen

public (string Name, string Surname) GetNameAndSurname()
{
    // Retrieve name and surname from a data source
    return ("John", "Doe");
}

var (name, surname) = GetNameAndSurname();
Console.WriteLine($"Name: {name}, Surname: {surname}");

Gruppierung verwandter Daten

var point = (x: 10, y: 20);
var color = (r: 255, g: 0, b: 0);
var person = (name: "Alice", age: 25);

Einschränkungen und Überlegungen

Während C# 7.0 Tupel erhebliche Vorteile bieten, gibt es einige Einschränkungen und Überlegungen zu beachten:

  • Tupel sind im Vergleich zu benutzerdefinierten Klassen oder Strukturen in ihrer Ausdruckskraft begrenzt.
  • Auf Tupel-Elemente wird mit Item1, Item2 usw. zugegriffen, wenn keine expliziten Namen angegeben sind, was die Lesbarkeit des Codes verringern kann.

Benutzerdefinierte Klasse paaren

public class Pair<T1, T2>
{
    public T1 First { get; set; }
    public T2 Second { get; set; }

    // Constructor to initialize the pair
    public Pair(T1 first, T2 second)
    {
        First = first;
        Second = second;
    }
}

In dieser Klasse werden die Typen zur Nutzungszeit definiert, und die beiden Eigenschaften werden als öffentliche Eigenschaften verfügbar gemacht.

Verwendung der Pair-Klasse

Nun, lassen Sie uns einige häufige Anwendungsfälle erkunden, in denen die Pair-Klasse von Vorteil sein kann:

1. Speichern von Koordinaten

// Creating a new instance of the Pair class to store coordinates
Pair<int, int> coordinates = new Pair<int, int>(10, 20);
Console.WriteLine($"X: {coordinates.First}, Y: {coordinates.Second}");

2. Rückgabe mehrerer Werte aus einer Methode

// Method returning a Pair, representing both quotient and remainder
public Pair<int, int> Divide(int dividend, int divisor)
{
    int quotient = dividend / divisor;
    int remainder = dividend % divisor;
    return new Pair<int, int>(quotient, remainder);
}

// Usage
Pair<int, int> result = Divide(10, 3);
Console.WriteLine($"Quotient: {result.First}, Remainder: {result.Second}");

3. das Speichern von Schlüssel-Werte-Paaren

// Storing a key-value pair
Pair<string, int> keyValue = new Pair<string, int>("Age", 30);
Console.WriteLine($"Key: {keyValue.First}, Value: {keyValue.Second}");

Schlüssel-Werte-Paare

Schlüssel-Wert-Paare bieten eine einfache und effiziente Möglichkeit zur Zuordnung von Daten. In C# ist das Hauptwerkzeug zur Arbeit mit Schlüssel-Wert-Paaren die Dictionary<TKey, TValue>-Klasse, ein vielseitiger und leistungsstarker Sammlungstyp.

Schlüssel-Werte-Paare verstehen

Ein Schlüssel-Wert-Paar ist eine Datenstruktur, die einen eindeutigen Schlüssel mit einem Wert verknüpft. Diese Assoziation ermöglicht eine effiziente Abfrage und Manipulation von Daten basierend auf ihrem eindeutigen Bezeichner. In C# werden Schlüssel-Wert-Paare häufig für Aufgaben wie Caching, Konfigurationsmanagement und Datenspeicherung verwendet.

Dictionary<TKey, TValue> in C#

Die Dictionary<TKey, TValue>-Klasse in C# ist eine generische Sammlung, die Schlüssel-Wert-Paare speichert. Sie bietet schnelle Suchvorgänge basierend auf den Schlüsseln und wird häufig zur Verwaltung assoziativer Daten verwendet.

Erstellen und Auffüllen eines Wörterbuchs

Dictionary<string, int> ages = new Dictionary<string, int>
{
    { "Alice", 30 },
    { "Bob", 35 },
    { "Charlie", 25 }
};

Zugriff auf Werte nach Schlüssel

// Directly access a value by its key
Console.WriteLine($"Alice's age: {ages["Alice"]}");

Iterieren über Schlüssel-Werte-Paare

// Iterate over all key-value pairs in the dictionary
foreach (var pair in ages)
{
    Console.WriteLine($"Name: {pair.Key}, Age: {pair.Value}");
}

Erweiterte Szenarien

Behandlung von fehlenden Schlüsseln

if (ages.TryGetValue("David", out int age))
{
    Console.WriteLine($"David's age: {age}");
}
else
{
    Console.WriteLine("David's age is not available.");
}

Löschen von Einträgen

// Remove an entry given its key
ages.Remove("Charlie");

Wörterbuch-Initialisierung

// Initialize a dictionary with color codes
var colors = new Dictionary<string, string>
{
    { "red", "#FF0000" },
    { "green", "#00FF00" },
    { "blue", "#0000FF" }
};

Über das Wörterbuch hinaus: Alternativen und Überlegungen

Während Dictionary<TKey, TValue> ein leistungsstarkes Werkzeug ist, hängen alternative Ansätze und Überlegungen von den spezifischen Anforderungen Ihrer Anwendung ab:

  • ConcurrentDictionary<TKey, TValue>: Wenn Ihre Anwendung einen thread-sicheren Zugriff auf das Verzeichnis von mehreren Threads erfordert, sollten Sie ConcurrentDictionary<TKey, TValue> in Betracht ziehen.
  • ImmutableDictionary<TKey, TValue>: Für Szenarien, in denen Unveränderlichkeit gewünscht ist, bietet ImmutableDictionary<TKey, TValue> aus dem System.Collections.Immutable-Namensraum unveränderliche Schlüssel-Wert-Sammlungen.
  • Benutzerdefinierte Schlüssel-Wert-Paar-Klassen: In Situationen, in denen Sie zusätzliche Funktionalität oder spezifisches Verhalten benötigen, ziehen Sie die Erstellung benutzerdefinierter Schlüssel-Wert-Paar-Klassen in Betracht, die auf Ihre Anforderungen zugeschnitten sind.

IronPDF-Bibliothek

IronPDF von Iron Software Products ist eine hervorragende Bibliothek zur Erstellung von PDF-Dokumenten. Ihre Benutzerfreundlichkeit und Effizienz sind unübertroffen.

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

IronPDF kann aus dem NuGet-Paketmanager installiert werden:

PM > Install-Package IronPdf

Oder von Visual Studio in dieser Weise:

C#-Pair-Klasse (Funktionsweise für Entwickler): Abbildung 1 - Installation von IronPDF mit dem NuGet-Paketmanager

Um ein Dokument mit einem Tupelbeispiel zu erstellen, können wir den folgenden Code verwenden:

using IronPdf;

namespace IronPatterns
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("-----------Iron Software-------------");
            var renderer = new ChromePdfRenderer(); // var pattern
            var content = "<h1>Iron Software is Awesome</h1> Made with IronPDF!";
            content += "<h2>Demo C# Pair with Tuples</h2>";

            var result = Divide(10, 3);
            Console.WriteLine($"Quotient: {result.Item1}, Remainder: {result.Item2}");
            content += $"<p>When we divide 10 by 3:</p>";
            content += $"<p>Quotient: {result.Item1}, Remainder: {result.Item2}</p>";

            var pdf = renderer.RenderHtmlAsPdf(content);
            pdf.SaveAs("output.pdf"); // Saves PDF
        }

        // Method to demonstrate division using tuples
        public static (int Quotient, int Remainder) Divide(int dividend, int divisor)
        {
            int quotient = dividend / divisor;
            int remainder = dividend % divisor;
            return (quotient, remainder);
        }
    }
}

Ausgabe

C#-Pair-Klasse (Funktionsweise für Entwickler): Abbildung 2

Testlizenz für IronPDF

Holen Sie sich Ihre IronPDF-Testlizenz und platzieren Sie die Lizenz im appsettings.json.

{
    "IronPdf.LicenseKey": "<Your Key>"
}
JSON

Abschluss

In diesem Artikel haben wir das Konzept von Paaren und die Bedeutung einer Pair-Klasse in C# untersucht. Wir haben eine einfache Implementierung der benutzerdefinierten Pair-Klasse zusammen mit verschiedenen Anwendungsfällen bereitgestellt, die ihre Vielseitigkeit und Nützlichkeit in alltäglichen Programmieraufgaben demonstrieren.

Ob Sie mit Koordinaten arbeiten, mehrere Werte aus einer Methode zurückgeben oder Schlüssel-Wert-Zuordnungen speichern, die Pair-Klasse kann eine wertvolle Ergänzung Ihres Programmierungs-Sets sein.

Zusätzlich dazu ist die IronPDF-Bibliotheksfunktionalität eine großartige Kombination von Fähigkeiten, die Entwickler haben sollten, um bei Bedarf PDF-Dokumente in Anwendungen zu erstellen.

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 $