using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Listen sind vielseitige und dynamische Datenstrukturen, die zum Speichern und Bearbeiten von Datensammlungen in C# verwendet werden. Listen sind Teil des System.Collections.Generic-Namensraums, der eine Reihe leistungsfähiger, typsicherer Sammlungsklassen und stark typisierter Objekte bereitstellt. Dieses anfängerfreundliche Tutorial führt Sie durch die Grundlagen der Verwendung von C#-Listen, einschließlich des Erstellens/Hinzufügens von Elementen, des Zugriffs auf einen bestimmten Index oder das erste Vorkommen, des Änderns eines bestimmten Elements und des Entfernens von Elementen sowie einiger häufiger Anwendungsfälle.
Listen erstellen
Um die List-Klasse zu verwenden, müssen Sie zuerst den generischen Namespace System.Collections in Ihrem Code einbinden:
using System.Collections.Generic;
using System.Collections.Generic;
Imports System.Collections.Generic
$vbLabelText $csharpLabel
Nach dem Hinzufügen eines generischen Namensraums erstellen Sie ein neues List-Objekt, indem Sie den Datentyp aller Elemente, die Sie in spitzen Klammern (< >) speichern möchten, angeben. Hier ein Beispiel für die Erstellung einer Liste von Ganzzahlen:
List<int> numbers = new List<int>();
List<int> numbers = new List<int>();
Dim numbers As New List(Of Integer)()
$vbLabelText $csharpLabel
Sie können auch Elemente in eine Liste mit einigen Anfangswerten oder durch die angegebene Sammlung definiert wie folgt einfügen:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
$vbLabelText $csharpLabel
Im obigen Beispiel können wir auch die Standardanfangskapazität der Liste angeben. Die angegebene Anfangskapazität ist die maximale Standardkapazität der Liste.
Methoden der Liste
Hinzufügen der Anzahl von Elementen zu einer Liste
Um Elemente zu Ihrer internen Datenstruktur Liste hinzuzufügen, verwenden Sie die Add()-Methode:
numbers.Add(1); // adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1); // adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1) ' adds first element
numbers.Add(2)
numbers.Add(3)
$vbLabelText $csharpLabel
Sie können der Liste auch eine Reihe von Elementen einer angegebenen Sammlung mithilfe der AddRange-Methode hinzufügen:
Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"
$vbLabelText $csharpLabel
Beachten Sie, dass die Listen einen nullbasierten Index haben, d. h. das erste Element hat einen Index von 0. Wenn das Element vorhanden ist, wird es im obigen Beispiel in der Zeichenfolge gespeichert.
Ändern von Listenelementen
Um ein Element in einer Liste zu ändern, weisen Sie dem Element am gewünschten Index einfach einen neuen Wert zu, wobei Sie den nullbasierten Index berücksichtigen:
fruits[1] = "blueberry";
fruits[1] = "blueberry";
fruits(1) = "blueberry"
$vbLabelText $csharpLabel
Das zweite Element in der Obstliste ist nun "Heidelbeere" statt "Banane".
Entfernen von Elementen aus einer Liste
Um ein Element aus einer Liste zu entfernen, können Sie die Remove-Methode verwenden, die das erste Vorkommen eines angegebenen Elements entfernt:
fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
$vbLabelText $csharpLabel
Alternativ können Sie die RemoveAt-Methode verwenden, um ein Element am angegebenen Index zu entfernen, wenn das Element existiert:
fruits.RemoveAt(0);
fruits.RemoveAt(0);
fruits.RemoveAt(0)
$vbLabelText $csharpLabel
Um alle Elemente aus einer Liste zu entfernen, verwenden Sie die Clear-Methode:
fruits.Clear();
fruits.Clear();
fruits.Clear()
$vbLabelText $csharpLabel
Suche nach Elementen in einer Liste
Sie können die Methode Contains() verwenden, um zu überprüfen, ob eine Liste ein bestimmtes Element enthält:
Dim containsApple As Boolean = fruits.Contains("apple") ' true
$vbLabelText $csharpLabel
Um den Index des ersten Vorkommens eines Elements zu finden, verwenden Sie die IndexOf-Methode:
int appleIndex = fruits.IndexOf("apple"); // 0
int appleIndex = fruits.IndexOf("apple"); // 0
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
$vbLabelText $csharpLabel
Wenn das Element nicht gefunden wird, gibt IndexOf -1 zurück.
Schleife durch eine Liste
Um durch die Elemente in einer Liste zu iterieren, können Sie eine foreach-Schleife verwenden. Mit der foreach-Schleife können Sie auch auf alle Elemente des Arrays zugreifen.
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next fruit
$vbLabelText $csharpLabel
Alternativ können Sie eine for-Schleife mit der Count-Eigenschaft verwenden, die die Anzahl der Elemente in der Liste zurückgibt:
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}
For i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next i
$vbLabelText $csharpLabel
Sortieren einer Liste
Um eine Liste in aufsteigender Reihenfolge zu sortieren, verwenden Sie die Sort-Methode:
Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()
' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
$vbLabelText $csharpLabel
Um eine Liste in absteigender Reihenfolge zu sortieren, können Sie die Sort-Methode mit einem benutzerdefinierten Vergleichs-Predicate-Delegate verwenden:
unsortedNumbers.Sort((a, b) => b.CompareTo(a));
// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort((a, b) => b.CompareTo(a));
// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort(Function(a, b) b.CompareTo(a))
' Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
$vbLabelText $csharpLabel
Für komplexere Sortierungen können Sie eine benutzerdefinierte IComparer-Klasse implementieren oder LINQ (Language Integrated Query) verwenden. Der binäre Suchalgorithmus arbeitet mit sortierten Listen.
LINQ mit Listen verwenden
Mit LINQ können Sie leistungsstarke Abfragen und Transformationen für Sammlungen, einschließlich Listen, durchführen. Um LINQ zu verwenden, müssen Sie zuerst den Namespace System.Linq in Ihren Klassenprogrammcode einfügen:
using System.Linq;
using System.Linq;
Imports System.Linq
$vbLabelText $csharpLabel
Hier sind einige Beispiele für LINQ-Abfragen auf einer Liste:
Filtern einer Liste
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList()
$vbLabelText $csharpLabel
Zuordnung (Transformation) von Elementen in einer Liste
Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()
$vbLabelText $csharpLabel
Ermitteln der Mindest- und Höchstwerte in einer Liste
int minValue = numbers.Min();
int maxValue = numbers.Max();
int minValue = numbers.Min();
int maxValue = numbers.Max();
Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()
$vbLabelText $csharpLabel
Umwandlung einer Liste in ein Array
Um eine Liste in ein Array zu konvertieren, können Sie die ToArray-Methode verwenden:
int[] numbersArray = numbers.ToArray();
int[] numbersArray = numbers.ToArray();
Dim numbersArray() As Integer = numbers.ToArray()
$vbLabelText $csharpLabel
Exportieren von Listendaten in eine PDF-Datei mit IronPDF
In diesem Abschnitt werden wir demonstrieren, wie man die Daten in einer Liste mit der IronPDF-Bibliothek in eine PDF-Datei exportiert. Dies kann hilfreich sein, wenn Sie einen Bericht oder eine druckbare Version Ihrer Daten erstellen möchten.
Laden Sie zunächst das IronPDF NuGet-Paket herunter und installieren Sie es in Ihrem Projekt:
Install-Package IronPdf
Als nächstes fügen Sie den IronPdf-Namensraum in Ihren Code ein:
using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText $csharpLabel
Nun erstellen wir eine einfache Funktion, die eine List von Zeichenfolgen in eine HTML-Tabelle umwandelt und diese dann in eine PDF-Datei exportiert:
using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
// Create an HTML table from the list data
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table><tr><th>Item</th></tr>");
foreach (string item in data)
{
htmlBuilder.Append($"<tr><td>{item}</td></tr>");
}
htmlBuilder.Append("</table>");
// Convert the HTML table to a PDF using IronPDF specified object
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}
using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
// Create an HTML table from the list data
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table><tr><th>Item</th></tr>");
foreach (string item in data)
{
htmlBuilder.Append($"<tr><td>{item}</td></tr>");
}
htmlBuilder.Append("</table>");
// Convert the HTML table to a PDF using IronPDF specified object
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}
Imports System.Collections.Generic
Imports IronPdf
Imports System.Text
Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String)
' Create an HTML table from the list data
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<table><tr><th>Item</th></tr>")
For Each item As String In data
htmlBuilder.Append($"<tr><td>{item}</td></tr>")
Next item
htmlBuilder.Append("</table>")
' Convert the HTML table to a PDF using IronPDF specified object
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
' Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath)
End Sub
$vbLabelText $csharpLabel
Um diese Funktion im obigen Beispiel zu verwenden, rufen Sie sie einfach mit Ihrer Liste und dem gewünschten PDF-Dateipfad auf:
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")
$vbLabelText $csharpLabel
Dies wird eine PDF-Datei namens "Fruits.pdf" erzeugen, die eine Tabelle mit der Standardkapazitätsliste von Früchten enthält, indem HTML mit IronPDF in PDF umgewandelt wird, die den definierten Bedingungen entspricht. Sie können die Funktion ExportListToPdf anpassen, um Ihren Anforderungen gerecht zu werden, indem Sie beispielsweise benutzerdefinierte Stile für die HTML-Tabelle oder zusätzlichen Inhalt zum PDF hinzufügen.
Schlussfolgerung
In diesem einsteigerfreundlichen Tutorial haben wir die Grundlagen der Verwendung von C#-Listen behandelt und gezeigt, wie IronPDF integriert werden kann, um Listendaten in eine PDF-Datei zu exportieren. Durch die Einbindung von IronPDF in Ihre Projekte können Sie problemlos Berichte, Rechnungen oder andere druckbare Dokumente aus Ihren C#-Projekten erstellen.
IronPDF bietet eine kostenlose Testversion an, die es Ihnen ermöglicht, die Funktionen zu testen, bevor Sie sich für einen Kauf entscheiden. Wenn Sie sich entscheiden, IronPDF nach der Testphase weiter zu verwenden, beginnen die Lizenzkosten bei $749, wobei mehrere Lizenzierungsoptionen verfügbar sind, um Ihre Bedürfnisse zu erfüllen.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS C# This (Wie es für Entwickler funktioniert)
NÄCHSTES > Was ist Visual Studio (Wie es für Entwickler funktioniert)