.NET-HILFE

C# Sortierte Liste (Wie es für Entwickler funktioniert)

Veröffentlicht 15. Dezember 2024
Teilen Sie:

Einführung in C# SortedList

Was ist eine SortedList?

Die C# Sorted List-Klasse in C# ist eine Sammlung von Schlüssel-Wert-Paaren, ähnlich einem Wörterbuch, jedoch mit dem zusätzlichen Vorteil der automatischen Sortierung nach Schlüsseln. Es ist Teil des System.Collections.Generic-Namespace und für Szenarien konzipiert, in denen Sie schnellen Zugriff auf sortierte Daten benötigen. SortedList TKey, TValue ist ideal, wenn Sie Daten in einer bestimmten Reihenfolge halten und Elemente effizient über den Schlüssel zugreifen müssen.

Wenn es um die Arbeit mitSortierte Listenneben PDF-Erzeugungsaufgaben integriert sich IronPDF perfekt mit dieser Klasse und gibt Ihnen noch mehr Kontrolle über die PDF-Erzeugung.

Hauptmerkmale und Anwendungsfälle

  • Schlüssel-Wert-Paar Speicher: Wie ein Wörterbuch speichert SortedList Daten als Schlüssel-Wert-Paare.
  • Automatische Sortierung: SortedList hält zugeordnete Werte standardmäßig in aufsteigender Reihenfolge nach Schlüssel sortiert.
  • Effiziente Datenabfrage: Die schnelle Abfrage zugehöriger Werte nach Schlüssel macht es geeignet für Nachschlagen.
  • Anwendungsfälle: SortedList ist nützlich für Anwendungen, die sortierte Daten benötigen, wie z.B. das Verwalten geordneter Listen von Namen, Daten oder Zahlenwerten.

Wie SortedList Funktioniert

Datenstrukturübersicht

Die öffentliche Klasse SortedList ist ein Hybrid zwischen einem Array und einer Hashtabelle und organisiert ihre Elemente nach Schlüssel. Intern verwendet es ein sortiertes Array, um Schlüsselwerte in Ordnung zu halten, was bedeutet, dass zwar Abfragen nach Schlüsseln effizient sind, Einfüge- und Löschoperationen jedoch langsamer sein können als in einem Dictionary.

Sortiermechanismus

Standardmäßig sortiert SortedList<TKey, TValue> Schlüssel in aufsteigender Reihenfolge unter Verwendung der IComparable-Schnittstelle, die sicherstellt, dass Zeichenfolgenschlüssel und andere Typen ein standardmäßiges Vergleichsverhalten implementieren. Wenn eine benutzerdefinierte Sortierreihenfolge benötigt wird, kann ein benutzerdefinierter Vergleicher bereitgestellt werden.

Vorteile und Beschränkungen

  • Vorteile:

    • Schneller Schlüsselzugriff: Bietet schnellen O(log n)Zugriff nach Schlüssel.
    • Sortierte Reihenfolge: Daten werden automatisch nach Schlüsseln sortiert, daher ist keine zusätzliche Sortierung erforderlich.
  • Nachteile:

    • Einfügegeschwindigkeit: Langsamer als Dictionary bei Einfügungen, insbesondere bei großen Datenmengen.
    • Begrenzte Effizienz für nicht-schlüsselbasierte Operationen: Begrenzt in Fällen, in denen auf Daten nicht hauptsächlich durch spezifische Schlüsselwerte zugegriffen wird.

Arbeiten mit C# SortedList

Erstellen einer SortedList

Um eine SortedList in C# zu erstellen, können Sie entweder den Standardkonstruktor verwenden oder einen IComparer übergeben, wenn Sie eine benutzerdefinierte Sortierung benötigen. Die SortedList hat eine standardmäßige Anfangskapazität von 16, aber wenn Sie die ungefähre Größe im Voraus kennen, kann diese spezifiziert werden, um die Leistung zu verbessern.

SortedList<int, string> sortedList = new SortedList<int, string>();
SortedList<int, string> sortedList = new SortedList<int, string>();
Dim sortedList As New SortedList(Of Integer, String)()
VB   C#

Elemente hinzufügen

Sie können Schlüssel-Wert-Paare zur SortedList mit der Add-Methode hinzufügen, die die Elemente nach Schlüssel sortiert hält. Im folgenden Codebeispiel wird die SortedList nach den angegebenen Schlüsseln sortiert und hält die Daten automatisch in aufsteigender Reihenfolge.

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")
VB   C#

Zugriff auf und Ändern von Elementen

Greifen Sie auf Elemente in einer SortedList zu, indem Sie ihre Schlüssel verwenden. Sie können jeden angegebenen Wert, der mit Schlüsseln verknüpft ist, direkt abrufen oder ändern.

// Accessing a specific value by key
string value = sortedList[1];  // "Apple"
// Modifying a value
sortedList[1] = "Avocado";
// Accessing a specific value by key
string value = sortedList[1];  // "Apple"
// Modifying a value
sortedList[1] = "Avocado";
' Accessing a specific value by key
Dim value As String = sortedList(1) ' "Apple"
' Modifying a value
sortedList(1) = "Avocado"
VB   C#

Elemente entfernen

Sie können Elemente mit angegebenen Schlüsseln mithilfe der Remove-Methode entfernen oder sie mithilfe des angegebenen Indexes mit RemoveAt entfernen. Beide Optionen ermöglichen die kontrollierte Löschung von angegebenen Objektdaten in der SortedList.

sortedList.Remove(3);       // Removes key 3
sortedList.RemoveAt(0);     // Removes item at a zero-based index 0
sortedList.Remove(3);       // Removes key 3
sortedList.RemoveAt(0);     // Removes item at a zero-based index 0
sortedList.Remove(3) ' Removes key 3
sortedList.RemoveAt(0) ' Removes item at a zero-based index 0
VB   C#

Iterieren über eine SortedList

Sie können über eine SortedList mit einer foreach-Schleife iterieren, die sowohl Schlüssel als auch Werte in sortierter Reihenfolge abruft.

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
VB   C#

C# Sortierte Liste (Wie es für Entwickler funktioniert): Abbildung 1

Praktische Beispiele für die Verwendung von SortedList

  • Beispiel 1: Speichern und Abrufen von Daten im einfachen Schlüssel-Wert-Format, bei dem die Reihenfolge wichtig ist, wie beispielsweise die Namen von Studenten anhand ihrer Matrikelnummern.
  • Beispiel 2: Verwendung von SortedList in komplexeren Szenarien, wie dem Anzeigen von sortierten Transaktionsprotokollen oder Ranglisten.

    Best Practices:

  • Verwenden Sie SortedList, wenn Schlüssel der primäre Zugriffspunkt sind und sortiert bleiben müssen.
  • Für häufige Einfügungen sollten Sie alternative Datenstrukturen wie SortedDictionary in Betracht ziehen, um eine bessere Leistung zu erzielen.

Überlegungen zur Leistung

Vergleich von SortedList mit Dictionary und List

  • SortedList vs. Dictionary: SortedList ist aufgrund seines Sortiermechanismus langsamer bei Einfügungen als Dictionary.
  • SortedList vs. List: Anders als eine List ist SortedList für den Zugriff auf Elemente mittels Schlüssel konzipiert und hält die Elemente in sortierter Reihenfolge.

    Wann sollte SortedList verwendet werden: Verwenden Sie es, wenn Sie sortierte Daten benötigen und hauptsächlich über den Schlüssel darauf zugreifen, insbesondere in leseintensiven Szenarien.

Integration mit IronPDF für den PDF-Export

Einführung in IronPDF

C# Sortierte Liste (Wie es für Entwickler funktioniert): Abbildung 2

IronPDFist 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 verwenden wir IronPDF, um einen PDF-Bericht aus SortedList-Daten zu erstellen.

Erstellen von PDF-Berichten aus SortedList-Daten

Um mit der Verwendung von IronPDF zu beginnen, installieren Sie das IronPDF NuGet-Paket:

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

Beispiel: Export von Daten aus einer SortedList in ein PDF-Dokument

Das folgende Beispiel zeigt, wie Daten aus einer SortedList in eine PDF-Tabelle exportiert werden.

Zuerst richten Sie Ihre 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"}
}
VB   C#

Als nächstes verwenden Sie IronPDF, um aus diesen Daten ein PDF zu erstellen:

ChromePdfRenderer renderer = new ChromePdfRenderer();
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>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
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>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
Dim renderer As New ChromePdfRenderer()
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>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("sortedList.pdf")
VB   C#

C# Sortierte Liste (Wie es für Entwickler funktioniert): Abbildung 3

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 CSS-Styling für Layouts, Schriftarten, Farben usw.
  • Kopf- und Fußzeilen: IronPDF unterstützt Kopf- und Fußzeilen, die Seitennummern oder Logos enthalten können.

Zusammenfassung und bewährte Verfahren

  • Übersicht über SortedList: SortedList ist eine sortierte Schlüssel-Wert-Sammlung und eignet sich am besten für Szenarien, in denen auf Daten über einen bestimmten Schlüssel zugegriffen wird und diese sortiert bleiben müssen.
  • Verwendung von IronPDF für den Export: IronPDF ist eine praktische Bibliothek zum Exportieren von SortedList-Daten in eine PDF-Datei und unterstützt benutzerdefinierte Layouts und Stilgestaltung.

Schlussfolgerung

In diesem Artikel haben wir die C# SortedList-Klasse untersucht, ein leistungsstarkes Werkzeug zur Verwaltung von sortierten Schlüssel-Wert-Datensammlungen. SortedList ist besonders nützlich in Szenarien, in denen Ordnung und effizienter Zugang über Schlüssel entscheidend 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 bewährte Verfahren für die Verwendung von SortedList in realen Anwendungen behandelt.

Zusätzlich haben wir gezeigt, wie IronPDFkann die Aufgabe vereinfachen, bestimmte Werte aus einer SortedList in das PDF-Format zu exportieren, was die einfache Erstellung professioneller, gut organisierter Berichte ermöglicht. Die Vielseitigkeit von IronPDF, einschließlich anpassbarer Kopf- und Fußzeilen sowie CSS-Styling, macht es zu einer ausgezeichneten Wahl für die direkte Generierung von PDFs aus Ihren C#-Anwendungen.

Wenn Sie daran interessiert sind, IronPDF auszuprobieren, bietet es einekostenlos testenmit dem Sie die gesamte Bandbreite seiner Funktionen unverbindlich erkunden können. Mit dieser Testversion können Sie die PDF-Erstellung, Anpassungsoptionen und die Integration in bestehende Projekte testen, um sicherzustellen, dass sie Ihren Anforderungen entspricht. Durch die Kombination von SortedList und IronPDF erhalten Entwickler eine robuste, effiziente Lösung zur Verwaltung und Berichterstattung sortierter Daten in C#-Anwendungen.

< PREVIOUS
C# Trim (Wie es für Entwickler funktioniert)
NÄCHSTES >
C# Float (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,810,873 Lizenzen anzeigen >