C# Sammlung (Funktionsweise für Entwickler)
C# ist unter den vielen verfügbaren Programmiersprachen eine beliebte und anpassungsfähige Option für Entwickler geworden. Das Konzept der Sammlungen steht im Mittelpunkt der umfangreichen Bibliothek und Frameworks von C#, die einen der Hauptvorteile der Sprache darstellen. In C# ist eine Sammlung wesentlich, um Daten effektiv zu speichern und zu organisieren. Sie bieten Entwicklern eine breite Palette effektiver Werkzeuge, um herausfordernde Programmierprobleme zu lösen. In diesem Beitrag werden wir uns eingehender mit Sammlungen beschäftigen und deren Merkmale, Typen und optimale Verwendungsstrategien behandeln.
Wie man C# Sammlungen verwendet
- Erstellen Sie ein neues Konsolen-App-Projekt.
- Erstellen Sie ein Objekt für die Sammlung in C#.
- Fügen Sie die Werte zur Sammlungsklasse hinzu, die mehrere Objektsätze speichern kann.
- Bearbeiten Sie die Wertoperationen wie Hinzufügen, Entfernen, Sortieren usw.
- Anzeigen des Ergebnisses und Freigabe des Objekts.
C#: Sammlungen verstehen
Sammlungen in C# sind Container, die Programmierern ermöglichen, mit Sätzen von Objektklassen zu arbeiten und diese zu speichern. Diese Objekte sind flexibel und an unterschiedliche Programmierumgebungen anpassbar und können vom gleichen oder unterschiedlichen Typ sein. Die meisten Sammlungsklassen implementieren Komponenten des System-Namespace in C#, was bedeutet, dass Namespaces wie System.Collections und System.Collections.Generic importiert werden müssen, die verschiedene Sammlungsklassen bieten, sowohl generische als auch nicht-generische. Sammlungen ermöglichen auch die dynamische Speicherzuweisung sowie das Hinzufügen, Suchen und Sortieren von Elementen innerhalb der Sammlungsklassen.
Nicht-generische Sammlungsarten
ArrayList, Hashtable und Queue sind einige der nicht-generischen Sammlungsklassen, die in den ersten Versionen der Sprache enthalten waren. Diese Sammlungen bieten eine Alternative zum expliziten Definieren der Typen von Objekten, die Sie speichern und mit denen Sie arbeiten möchten. Entwickler wählen jedoch häufig generische Sammlungen aufgrund ihrer überlegenen Leistung und Typsicherheit.
Generische Sammlungen
Spätere Versionen von C# führten generische Sammlungen ein, um die Nachteile nicht-generischer Sammlungen zu überwinden. Sie bieten Typsicherheit während der Kompilierung und ermöglichen es Entwicklern, mit streng typisierten Daten umzugehen. Zu den oft verwendeten generischen Sammlungsklassen gehören List, Dictionary<TKey, TValue>, Queue und Stack. Diese Sammlungen sind die erste Wahl in der modernen C#-Entwicklung, da sie eine bessere Leistung und Kompilierungszeit-Typüberprüfung bieten.
Wichtige C#-Sammlungstypen
1. Liste
Ein dynamisches Array, das eine schnelle und einfache Einfügung und Entfernung von Elementen ermöglicht, ist die Klasse List
// Creating a list with integers and adding/removing elements
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // Adds element '6' to the end
numbers.Remove(3); // Removes the first occurrence of the element '3'
// Creating a list with integers and adding/removing elements
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // Adds element '6' to the end
numbers.Remove(3); // Removes the first occurrence of the element '3'
' Creating a list with integers and adding/removing elements
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
numbers.Add(6) ' Adds element '6' to the end
numbers.Remove(3) ' Removes the first occurrence of the element '3'
2. Wörterbuch<TKey, TValue>
Mit schnellen Suchgeschwindigkeiten wird eine Sammlung von Schlüssel-Wert-Paaren durch die Dictionary<TKey, TValue>-Klasse dargestellt. Es wird häufig in Situationen eingesetzt, in denen der schnelle Zugriff auf Daten über einen eindeutigen Schlüsselwert entscheidend ist. Dieser Schlüssel wird verwendet, um auf Elemente im Wörterbuch zuzugreifen.
// Creating a dictionary mapping names to ages
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // The string "John" is the key that can access the value 25
ageMap["Jane"] = 30; // Setting the key "Jane" to hold the value 30
// Creating a dictionary mapping names to ages
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // The string "John" is the key that can access the value 25
ageMap["Jane"] = 30; // Setting the key "Jane" to hold the value 30
' Creating a dictionary mapping names to ages
Dim ageMap As New Dictionary(Of String, Integer)()
ageMap.Add("John", 25) ' The string "John" is the key that can access the value 25
ageMap("Jane") = 30 ' Setting the key "Jane" to hold the value 30
3. Warteschlange und Stapel
Die First-in, First-out-Kollektion (FIFO) und die Last-in, First-out-Paradigmen werden jeweils von den generischen Klassen Queue
// Creating and manipulating a queue
Queue<string> tasks = new Queue<string>();
tasks.Enqueue("Task 1"); // Adding to the queue
tasks.Enqueue("Task 2");
// Creating and manipulating a stack
Stack<double> numbers = new Stack<double>();
numbers.Push(3.14); // Adding to the stack
numbers.Push(2.71);
// Creating and manipulating a queue
Queue<string> tasks = new Queue<string>();
tasks.Enqueue("Task 1"); // Adding to the queue
tasks.Enqueue("Task 2");
// Creating and manipulating a stack
Stack<double> numbers = new Stack<double>();
numbers.Push(3.14); // Adding to the stack
numbers.Push(2.71);
' Creating and manipulating a queue
Dim tasks As New Queue(Of String)()
tasks.Enqueue("Task 1") ' Adding to the queue
tasks.Enqueue("Task 2")
' Creating and manipulating a stack
Dim numbers As New Stack(Of Double)()
numbers.Push(3.14) ' Adding to the stack
numbers.Push(2.71)
4. HashSet
Einzigartige Elemente, die in einer ungeordneten Sammlung angeordnet sind, werden durch die Klasse HashSet
// Creating hashsets and performing a union operation
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // Combining setA and setB
// Creating hashsets and performing a union operation
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // Combining setA and setB
' Creating hashsets and performing a union operation
Dim setA As New HashSet(Of Integer) From {1, 2, 3, 4}
Dim setB As New HashSet(Of Integer) From {3, 4, 5, 6}
Dim unionSet As New HashSet(Of Integer)(setA)
unionSet.UnionWith(setB) ' Combining setA and setB
IronPDF

Eine C#-Bibliothek namens IronPDF erleichtert das Erstellen, Bearbeiten und Anzeigen von PDF-Dokumenten in .NET-Anwendungen. Sie bietet viele Lizenzierungsoptionen, plattformübergreifende Kompatibilität, hochwertige Ausgabe und HTML-zu-PDF-Konvertierung. Die benutzerfreundliche API von IronPDF vereinfacht die Handhabung von PDFs und macht es zu einem wertvollen Werkzeug für C#-Entwickler.
Das herausragende Merkmal von IronPDF ist seine HTML-zu-PDF-Konvertierungs-Funktion, die alle Layouts und Stile beibehält. Es generiert PDFs aus Webinhalten und eignet sich perfekt für Berichte, Rechnungen und Dokumentationen. HTML-Dateien, URLs und HTML-Strings können mühelos in PDFs umgewandelt werden.
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");
}
}
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");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
Zu den Hauptmerkmalen von IronPDF gehören:
- Konvertieren von HTML in PDF: Mit IronPDF können Programmierer PDF-Dokumente aus HTML-Text erstellen, einschließlich CSS und JavaScript. Dies ist besonders nützlich für diejenigen, die bereits mit Webentwicklungstools vertraut sind und HTML und CSS zur Erstellung von PDFs verwenden möchten.
- PDF-Erstellung und Bearbeitung: Die Bibliothek bietet die Möglichkeit, PDF-Dokumente von Grund auf programmgesteuert zu erstellen. Darüber hinaus erleichtert sie das Bearbeiten vorhandener PDFs, indem sie Operationen wie Textextraktion, Wasserzeicheneinfügung, Teilung von PDFs und mehr ermöglicht.
- Überlegene Wiedergabe: IronPDF verwendet eine Rendering-Engine, um PDF-Ausgaben von höchster Qualität zu erzeugen und sicherzustellen, dass die endgültigen Dokumente Klarheit und visuelle Integrität beibehalten.
- Plattformübergreifende Kompatibilität: IronPDF ist so konzipiert, dass es sowohl mit .NET Core als auch .NET Framework funktioniert, sodass es in verschiedenen Anwendungen und auf einer Vielzahl von Plattformen verwendet werden kann.
- Leistungsoptimierung: Selbst beim Arbeiten mit großen oder komplizierten PDF-Dokumenten ist die Bibliothek so ausgelegt, dass sie eine effiziente PDF-Erstellung und -Wiedergabe bietet.
Um mehr über die IronPDF-Dokumentation zu erfahren, verweisen Sie auf die IronPDF-Dokumentation.
Installation von IronPDF
Installieren Sie zunächst die IronPDF-Bibliothek mit der Paket-Manager-Konsole oder dem NuGet-Paket-Manager mit:
Install-Package IronPdf

Die Suche nach dem Paket "IronPDF" mit dem NuGet-Paket-Manager ist eine weitere Möglichkeit. Wir können aus dieser Liste von allen mit IronPDF verbundenen NuGet-Paketen das erforderliche Paket auswählen und herunterladen.

Dokumentenerstellung mit Collections unter Verwendung von IronPDF
Es ist entscheidend, die Rolle, die Sammlungen in Datenstrukturen und Organisation spielen, zu verstehen, bevor wir uns mit der Schnittstelle zu IronPDF befassen. Entwickler können Gruppierungen von Objekten in einer organisierten Weise speichern, abrufen und ändern, indem sie Sammlungen verwenden. Mit so vielen verschiedenen verfügbaren Typen wie List, Dictionary<TKey, TValue> und HashSet können Entwickler die Sammlung auswählen, die am besten zu ihren Anforderungen passt.
Stellen Sie sich vor, Sie müssen einen Bericht mit einer Liste von Verkaufsabschlüssen erstellen. Die Daten können effektiv mit einer List
// Define the Transaction class
public class Transaction
{
public string ProductName { get; set; }
public decimal Amount { get; set; }
public DateTime Date { get; set; }
}
// Create a list of transactions
List<Transaction> transactions = new List<Transaction>
{
new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
// Add more transactions as needed
};
// Define the Transaction class
public class Transaction
{
public string ProductName { get; set; }
public decimal Amount { get; set; }
public DateTime Date { get; set; }
}
// Create a list of transactions
List<Transaction> transactions = new List<Transaction>
{
new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
// Add more transactions as needed
};
' Define the Transaction class
Public Class Transaction
Public Property ProductName() As String
Public Property Amount() As Decimal
Public Property [Date]() As DateTime
End Class
' Create a list of transactions
Private transactions As New List(Of Transaction) From {
New Transaction With {
.ProductName = "Product A",
.Amount = 100.50D,
.Date = DateTime.Now.AddDays(-2)
},
New Transaction With {
.ProductName = "Product B",
.Amount = 75.20D,
.Date = DateTime.Now.AddDays(-1)
}
}
Im PDF erstellen wir eine einfache Tabelle, die den Produktnamen, den Transaktionsbetrag und das Datum für jede auflistet.
using IronPdf;
// Create a PDF document renderer
var pdfDocument = new HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf = pdfDocument.RenderHtmlAsPdf(htmlContent);
// Specify the file path to save the PDF
string pdfFilePath = "transactions_report.pdf";
pdf.SaveAs(pdfFilePath);
using IronPdf;
// Create a PDF document renderer
var pdfDocument = new HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf = pdfDocument.RenderHtmlAsPdf(htmlContent);
// Specify the file path to save the PDF
string pdfFilePath = "transactions_report.pdf";
pdf.SaveAs(pdfFilePath);
Imports IronPdf
' Create a PDF document renderer
Private pdfDocument = New HtmlToPdf()
' HTML content with a table populated by data from the 'transactions' list
Private htmlContent As String = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>"
For Each transaction In transactions
htmlContent &= $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>"
Next transaction
htmlContent &= "</table>"
' Convert HTML to PDF
Dim pdf As PdfDocument = pdfDocument.RenderHtmlAsPdf(htmlContent)
' Specify the file path to save the PDF
Dim pdfFilePath As String = "transactions_report.pdf"
pdf.SaveAs(pdfFilePath)
Entwickler haben die Möglichkeit, das PDF-Dokument auf der Festplatte zu speichern oder es den Benutzern anzuzeigen, sobald es erstellt wurde. IronPDF bietet mehrere Ausgabemöglichkeiten, darunter Browser-Streaming, Dateispeicherung und Cloud-Speicherintegration.

Der obige Bildschirm zeigt die Ausgabe, die aus dem obigen Code generiert wurde. Um mehr über den Code zu erfahren, verweisen Sie auf HTML zur Erstellung eines PDF-Beispiels verwenden.
Abschluss
Eine Fülle von Möglichkeiten für dynamische Dokumenterstellung wird durch die Kombination von Sammlungen mit IronPDF ermöglicht. Entwickler können Daten effektiv verwalten und organisieren, indem sie Sammlungen nutzen, und IronPDF erleichtert die Erstellung visuell ansprechender PDF-Dokumente. Die kombinierte Leistung von IronPDF und Sammlungen bietet eine zuverlässige und anpassungsfähige Lösung für die dynamische Inhaltserstellung in C#-Anwendungen, unabhängig von der Art des zu erstellenden Dokuments – Rechnungen, Berichte oder alles andere.
Die IronPDF $999 Lite Edition beinhaltet ein Jahr Software-Support, Upgrade-Optionen und eine permanente Lizenz. Benutzer bekommen auch die Möglichkeit, das Produkt in realen Bedingungen während der mit Wasserzeichen versehenen Testperiode zu bewerten. Um mehr über die Kosten, Lizenzierung und die kostenlose Testversion von IronPDF zu erfahren, besuchen Sie bitte die IronPDF-Lizenzierungsinformationen. Für weitere Informationen über Iron Software besuchen Sie die Iron Software-Website.
Häufig gestellte Fragen
Was sind Sammlungen in C# und warum sind sie wichtig?
Sammlungen in C# sind entscheidend für die Datenspeicherung und -organisation und bieten Entwicklern Werkzeuge, um komplexe Programmierherausforderungen effizient zu bewältigen. Sie ermöglichen dynamische Speicherallokation und einfache Manipulation von Datenmengen.
Was sind die Unterschiede zwischen nicht-generischen und generischen Sammlungen in C#?
Nicht-generische Sammlungen, wie ArrayList und Hashtable, sind weniger typensicher und können jeden Objekttyp speichern. Generische Sammlungen, wie List und Dictionary, bieten Typensicherheit und verbesserte Leistung, indem sie die Konsistenz des Datentyps durchsetzen.
Wie erstellt man eine generische Liste in C#?
Eine generische Liste in C# kann mit der List-Klasse erstellt werden. Zum Beispiel kann eine Liste von Ganzzahlen mit List erstellt werden.
Wie kann ich HTML in PDF in C# konvertieren?
Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Es unterstützt auch die Konvertierung von HTML-Dateien und URLs in PDF-Dokumente unter Beibehaltung der Layout- und Stilintegrität.
Was sind einige bewährte Praktiken für die Verwendung von Sammlungen in C#?
Zu den bewährten Praktiken für die Verwendung von Sammlungen in C# gehört die Auswahl des richtigen Sammlungstyps für Ihre Bedürfnisse, wie z.B. die Verwendung von Dictionary für Schlüssel-Wert-Paare und List für geordnete Listen, sowie die Sicherstellung eines ordnungsgemäßen Speichermanagements, indem Sammlungen entsorgt werden, wenn sie nicht mehr benötigt werden.
Wie können Sammlungen die PDF-Erstellung in C#-Anwendungen verbessern?
Sammlungen können Daten effizient für die Dokumentenerstellung organisieren. Zum Beispiel kann die Verwendung einer List zur Erstellung von Verkaufsdaten die Erstellung umfassender PDF-Berichte mit IronPDF erleichtern, wodurch das Datenmanagement und die Präsentation optimiert werden.
Welche Lizenzoptionen gibt es für IronPDF?
IronPDF bietet eine Lite-Lizenz mit einem Jahr Support und Updates sowie eine mit Wasserzeichen versehene Testversion zur Bewertung. Diese Optionen ermöglichen es Entwicklern, die Fähigkeiten von IronPDF in ihren Projekten zu testen und zu implementieren.
Wie kann ich IronPDF in ein .NET-Projekt installieren?
Sie können IronPDF in einem .NET-Projekt mithilfe des NuGet-Paketmanagers mit dem Befehl Install-Package IronPDF installieren. Alternativ können Sie im NuGet-Paketmanager nach 'IronPDF' suchen, um es Ihrem Projekt hinzuzufügen.




