C# Sortierte Liste (Wie es für Entwickler funktioniert)
Einführung in C# SortedList
Was ist eine SortedList?
Die C#-Klasse SortedList ist eine Sammlung von Schlüssel-Wert-Paaren, ähnlich einem Wörterbuch, bietet aber den zusätzlichen Vorteil der automatischen Sortierung nach Schlüsseln. Es ist Teil des Namespace System.Collections.Generic und ist für Szenarien konzipiert, in denen Sie einen schnellen Zugriff auf sortierte Daten benötigen. SortedList<TKey, TValue> ist ideal, wenn Sie Daten in einer bestimmten Reihenfolge speichern und effizient über einen Schlüssel auf Elemente zugreifen müssen.
Bei Arbeiten mit SortedLists neben PDF-Generierungsaufgaben integriert sich IronPDF perfekt in diese Klasse und bietet verbesserte Kontrolle über die PDF-Erstellung.
Wichtige Funktionen und Anwendungsfälle
- Speicherung von Schlüssel-Wert-Paaren: Ähnlich wie ein Wörterbuch speichert SortedList Daten als Schlüssel-Wert-Paare.
- Automatische Sortierung:
SortedListsortiert die zugehörigen Werte standardmäßig nach Schlüssel in aufsteigender Reihenfolge. - Effizienter Datenabruf: Der schnelle Abruf zugehöriger Werte über den Schlüssel macht es ideal für Nachschlagevorgänge.
- Anwendungsfälle: Nützlich für Anwendungen, die sortierte Daten benötigen, wie z. B. die Verwaltung geordneter Listen von Namen, Datumsangaben oder numerischen Werten.
Wie SortedList funktioniert
Übersicht über die Datenstruktur
Die öffentliche Klasse SortedList ist eine Mischung aus Array und Hashtabelle und organisiert ihre Elemente nach Schlüssel. Intern verwendet sie ein sortiertes Array, um Schlüsselwerte in Ordnung zu halten, was effiziente Abfragen nach Schlüssel gewährleistet. Allerdings können Einfüge- und Löschvorgänge langsamer sein als in einem Dictionary.
Sortiermechanismus
Standardmäßig sortiert SortedList<TKey, TValue> die Schlüssel in aufsteigender Reihenfolge mithilfe der IComparable Schnittstelle, wodurch sichergestellt wird, dass Zeichenkettenschlüssel und andere Typen ein Standardvergleichsverhalten implementieren. Für eine benutzerdefinierte Sortierreihenfolge kann ein spezifischer Vergleicher angegeben werden.
Vorteile und Beschränkungen
- Vorteile:
- Schneller Schlüsselzugriff: Bietet schnellen Zugriff O(log n) per Schlüssel.
- Vorsortierte Reihenfolge: Die Daten werden automatisch nach Schlüssel sortiert, ohne zusätzlichen Sortieraufwand.
- Nachteile:
- Einfügegeschwindigkeit: Langsamer als
Dictionarybei Einfügungen, insbesondere bei großen Datenmengen. - Eingeschränkte Effizienz bei Operationen ohne Schlüsselbezug: Weniger effizient in Szenarien, in denen nicht primär über spezifische Schlüsselwerte auf die Daten zugegriffen wird.
- Einfügegeschwindigkeit: Langsamer als
Arbeiten mit C# SortedList
Erstellen einer SortedList
Sie können ein SortedList in C# erstellen, indem Sie entweder den Standardkonstruktor verwenden oder ein IComparer übergeben, wenn eine benutzerdefinierte Sortierung erforderlich ist. Der SortedList hat eine standardmäßige Anfangskapazität von 16, die zur Leistungsverbesserung angepasst werden kann, wenn die ungefähre Größe bekannt ist.
// Create a SortedList with integer keys and string values
SortedList<int, string> sortedList = new SortedList<int, string>();
// Create a SortedList with integer keys and string values
SortedList<int, string> sortedList = new SortedList<int, string>();
' Create a SortedList with integer keys and string values
Dim sortedList As New SortedList(Of Integer, String)()
Einzelteile hinzufügen
Fügen Sie Schlüssel-Wert-Paare zu SortedList mithilfe der Methode Add hinzu. Dies hält Elemente nach Schlüssel sortiert. Der folgende Code hält die SortedList-Daten in aufsteigender Reihenfolge nach Schlüsseln.
sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");
sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");
sortedList.Add(1, "Apple")
sortedList.Add(3, "Banana")
sortedList.Add(2, "Cherry")
Zugriff auf und Änderung von Elementen
Greifen Sie auf Elemente in einem SortedList über ihre Schlüssel zu. Sie können Werte, die mit Schlüsseln verknüpft sind, direkt abrufen oder ändern.
// Accessing a specific value by key
string value = sortedList[1]; // Retrieves "Apple"
// Modifying a value
sortedList[1] = "Avocado"; // Changes the value associated with key 1 to "Avocado"
// Accessing a specific value by key
string value = sortedList[1]; // Retrieves "Apple"
// Modifying a value
sortedList[1] = "Avocado"; // Changes the value associated with key 1 to "Avocado"
' Accessing a specific value by key
Dim value As String = sortedList(1) ' Retrieves "Apple"
' Modifying a value
sortedList(1) = "Avocado" ' Changes the value associated with key 1 to "Avocado"
Elemente entfernen
Entfernen Sie Elemente mithilfe bestimmter Schlüssel mit der Methode Remove oder mithilfe des angegebenen Index mit RemoveAt. Beide ermöglichen das kontrollierte Löschen von Objekten aus dem SortedList.
sortedList.Remove(3); // Removes the entry with key 3
sortedList.RemoveAt(0); // Removes the entry at the zero-based index 0
sortedList.Remove(3); // Removes the entry with key 3
sortedList.RemoveAt(0); // Removes the entry at the zero-based index 0
sortedList.Remove(3) ' Removes the entry with key 3
sortedList.RemoveAt(0) ' Removes the entry at the zero-based index 0
Iterieren über eine SortedList
Iteriere über SortedList mit einer foreach Schleife, um sowohl Schlüssel als auch Werte in sortierter Reihenfolge abzurufen.
foreach (KeyValuePair<int, string> kvp in sortedList)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
foreach (KeyValuePair<int, string> kvp in sortedList)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
For Each kvp As KeyValuePair(Of Integer, String) In sortedList
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}")
Next kvp

Praktische Beispiele für die Verwendung von SortedList
- Beispiel 1: Speichern und Abrufen von Daten in einem einfachen Schlüssel-Wert-Format, bei dem die Reihenfolge wichtig ist, wie z. B. die Namen der Studenten anhand ihrer Matrikelnummern.
- Beispiel 2: Verwendung von
SortedListin komplexeren Szenarien, wie z. B. der Anzeige sortierter Transaktionsprotokolle oder Ranglisten.
Bewährte Verfahren:
- Verwenden Sie
SortedList, wenn die Schlüssel der primäre Zugriffspunkt sind und sortiert bleiben müssen. - Bei häufigen Einfügungen sollten Sie Alternativen wie
SortedDictionaryfür eine bessere Performance in Betracht ziehen.
Erwägungen zur Leistung
Vergleich von SortedList mit Dictionary und List
- SortedList vs. Dictionary: SortedList ist bei Einfügungen langsamer als Dictionary, da der Sortiervorgang mehr Aufwand bedeutet.
- SortedList vs. List: Im Gegensatz zu einer Liste ist SortedList so konzipiert, dass man auf Elemente über einen Schlüssel zugreifen und die sortierte Reihenfolge beibehalten kann.
Wann man SortedList verwendet: Verwenden Sie es, wenn Sie sortierte Daten benötigen und primär über den Schlüssel darauf zugreifen, insbesondere bei leseintensiven Szenarien.
Integration mit IronPDF für den PDF-Export
Einführung in IronPDF

IronPDF ist eine leistungsstarke Bibliothek zur Erstellung und Bearbeitung von PDF-Dateien in C#. Es ermöglicht Entwicklern, PDFs aus verschiedenen Quellen zu erstellen, Inhalte programmgesteuert hinzuzufügen und PDF-Layouts anzupassen. In diesem Abschnitt werden wir IronPDF verwenden, um einen PDF-Bericht aus SortedList-Daten zu erstellen.
Erzeugen von PDF-Berichten aus sortierten Listendaten
Um IronPDF zu verwenden, installieren Sie das IronPDF NuGet-Paket:
Install-Package IronPdf
Beispiel: Exportieren von Daten aus einer sortierten Liste in eine PDF-Datei
Das folgende Beispiel zeigt, wie Daten aus einer SortedList in eine PDF-Tabelle exportiert werden.
Richten Sie zunächst Ihren SortedList ein:
SortedList<int, string> sortedList = new SortedList<int, string>
{
{ 1, "Apple" },
{ 2, "Banana" },
{ 3, "Cherry" }
};
SortedList<int, string> sortedList = new SortedList<int, string>
{
{ 1, "Apple" },
{ 2, "Banana" },
{ 3, "Cherry" }
};
Dim sortedList As New SortedList(Of Integer, String) From {
{1, "Apple"},
{2, "Banana"},
{3, "Cherry"}
}
Als nächstes verwenden Sie IronPDF, um aus diesen Daten ein PDF zu erstellen:
// Initialize a PDF renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Build HTML string with table format
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";
// Render HTML to PDF and save it
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
// Initialize a PDF renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Build HTML string with table format
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";
// Render HTML to PDF and save it
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
' Initialize a PDF renderer
Dim renderer As New ChromePdfRenderer()
' Build HTML string with table format
Dim html As String = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>"
For Each kvp In sortedList
html &= $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>"
Next kvp
html &= "</table>"
' Render HTML to PDF and save it
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("sortedList.pdf")

Dieser Code erstellt eine HTML-Tabelle aus den SortedList-Daten und konvertiert sie mithilfe von IronPDF in ein PDF.
Erweiterte Funktionen
- Anpassen des PDF-Layouts: IronPDF ermöglicht die CSS-Gestaltung von Layouts, Schriftarten, Farben usw.
- Kopf- und Fußzeilen: IronPDF unterstützt Kopf- und Fußzeilen, die Seitenzahlen oder Logos enthalten können.
Zusammenfassung und bewährte Praktiken
- SortedList Übersicht: SortedList ist eine sortierte Schlüssel-Wert-Sammlung, die sich am besten für Szenarien eignet, in denen auf Daten über bestimmte Schlüssel zugegriffen wird und die Sortierung erhalten bleiben muss.
- Verwendung von IronPDF zum Exportieren: IronPDF ist eine praktische Bibliothek zum Exportieren von SortedList-Daten in PDFs, die benutzerdefinierte Layouts und Stile unterstützt.
Abschluss
In diesem Artikel haben wir die C#-Klasse SortedList untersucht, ein leistungsstarkes Werkzeug zur Verwaltung sortierter Schlüssel-Wert-Datensammlungen. SortedList ist besonders nützlich in Szenarien, in denen die Reihenfolge und der effiziente Zugriff per Schlüssel von entscheidender Bedeutung sind. Von der Erstellung, dem Hinzufügen und Entfernen von Elementen bis hin zur Integration mit IronPDF für den PDF-Export haben wir praktische Schritte und Best Practices für die Verwendung von SortedList in realen Anwendungen behandelt.
Darüber hinaus haben wir gezeigt, wie IronPDF das Exportieren bestimmter Werte aus einer SortedList Datei in das PDF-Format vereinfachen kann und somit die einfache Erstellung professionell gestalteter, gut organisierter Berichte ermöglicht. Die Vielseitigkeit von IronPDF, einschließlich anpassbarer Kopf-, Fußzeilen und CSS-Styling, macht es zu einer ausgezeichneten Wahl für die Erzeugung von PDFs direkt aus Ihren C#-Anwendungen.
Wenn Sie daran interessiert sind, IronPDF auszuprobieren, bietet es eine kostenlose Testversion, die Ihnen ermöglicht, die gesamte Palette der Funktionen ohne Verpflichtung zu erkunden. Diese Testversion ermöglicht das Testen der PDF-Erstellung, Anpassungsoptionen und Integration in bestehende Projekte, um sicherzustellen, dass es Ihren Anforderungen entspricht. Durch die Kombination von SortedList und IronPDF erhalten Entwickler eine robuste und effiziente Lösung für die Verwaltung und Berichterstellung sortierter Daten in C#-Anwendungen.
Häufig gestellte Fragen
Was ist eine C# SortedList und wie funktioniert sie?
Eine C# SortedList ist eine Sammlung von Schlüssel-Wert-Paaren, die die Schlüssel automatisch sortiert. Sie gehört zum System.Collections.Generic-Namespace und ist nützlich für Szenarien, in denen der Zugriff auf sortierte Daten erforderlich ist. Die SortedList hält ihre Ordnung mit einer hybriden Struktur zwischen einem Array und einer Hash-Tabelle, die effizienten schlüsselbasierten Zugriff bietet.
Wie kann ich eine SortedList in C# erstellen?
Sie können eine SortedList in C# erstellen, indem Sie den Standardkonstruktor verwenden oder einen IComparer für benutzerdefinierte Sortierungen übergeben. Ein Beispiel für das Erstellen einer SortedList ist: SortedList
Welche Vorteile bietet die Verwendung einer SortedList gegenüber einem Dictionary in C#?
Der Hauptvorteil der Verwendung einer SortedList gegenüber einem Dictionary besteht darin, dass eine SortedList die Schlüssel automatisch sortiert, was von Vorteil ist, wenn Sie sortierte Daten benötigen und hauptsächlich auf sie über den Schlüssel zugreifen. Dies ist besonders in leselastigen Szenarien nützlich.
Wie kann ich Elemente zu einer C# SortedList hinzufügen?
Elemente können zu einer C# SortedList mit der Add-Methode hinzugefügt werden. Diese Methode stellt sicher, dass die Elemente nach Schlüssel sortiert bleiben und die Ordnung der SortedList beibehalten wird.
Kann eine SortedList verwendet werden, um Daten als PDF zu exportieren?
Ja, Sie können IronPDF verwenden, um PDF-Berichte aus SortedList-Daten zu erstellen. Dadurch können Entwickler PDF-Dokumente aus Sammlungen sortierter Schlüssel-Wert-Daten erstellen, was die Integrationsfähigkeiten von IronPDF mit C#-Anwendungen unterstreicht.
Was sind einige gängige Anwendungen einer C# SortedList?
Gängige Anwendungen einer C# SortedList umfassen das Speichern geordneter Listen wie Schülernamen nach Rollennummern oder das Führen sortierter Transaktionsprotokolle. Sie ist besonders nützlich in Anwendungen, in denen Daten in geordneter Reihenfolge abgerufen werden müssen.
Wie verhält sich eine SortedList in Bezug auf Einfüge- und Löschoperationen?
Eine SortedList kann langsamer als ein Dictionary bei Einfüge- und Löschoperationen sein, insbesondere bei großen Datenmengen. Dies liegt an ihrer hybriden Struktur, die effiziente Suchvorgänge und die Beibehaltung der Sortierreihenfolge priorisiert.
Was ist die Standardsortierreihenfolge von Schlüsseln in einer C# SortedList?
Die Standardsortierreihenfolge in einer C# SortedList ist aufsteigend. Sie verwendet das IComparable-Interface, um die Schlüssel automatisch zu sortieren, es sei denn, es wird ein benutzerdefinierter IComparer bereitgestellt.




