
C# Liste (Wie es für Entwickler funktioniert)
Listen sind vielseitige und dynamische Datenstrukturen, die verwendet werden, um Sammlungen von Daten in C# zu speichern und zu manipulieren. Sie sind Teil des System.Collections.Generic-Namespace, der eine Reihe von leistungsstarken, typsicheren Sammlungsklassen und stark typisierten Objekten bereitstellt. Dieses anfängerfreundliche Tutorial führt Sie durch die Grundlagen der Verwendung von C#-Listen, einschließlich der Erstellung/Hinzufügung von Elementen, des Zugriffs auf angegebene Indizes oder erste Vorkommen, der Modifizierung bestimmter Elemente und des Entfernens von Elementen sowie einiger häufiger Anwendungsfälle.
Listen erstellen
Um die List-Klasse zu verwenden, müssen Sie zuerst das System.Collections.Generic-Namespace in Ihren Code einbinden:
using System.Collections.Generic;Imports System.Collections.GenericNachdem Sie das generische Namespace hinzugefügt haben, erstellen Sie ein neues List-Objekt, indem Sie den Datentyp aller Elemente angeben, die Sie in eckigen Klammern speichern möchten (< >). Hier ist ein Beispiel, wie man eine Liste von Ganzzahlen erstellt:
List<int> numbers = new List<int>();Dim numbers As New List(Of Integer)()Sie können eine Liste auch mit einigen Anfangswerten initialisieren oder sie durch die angegebene Sammlung wie folgt definieren:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}Wir können auch die standardmäßige Anfangskapazität der Liste angeben. Die angegebene Anfangskapazität ist die standardmäßige maximale Kapazität der Liste.
Methoden der Liste
Anzahl der Elemente zu einer Liste hinzufügen
Um Elemente zu Ihrer 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)Sie können auch eine Reihe von Elementen aus einer angegebenen Sammlung zur Liste hinzufügen, indem Sie die AddRange-Methode verwenden:
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);Dim moreNumbers As New List(Of Integer) From {4, 5, 6}
numbers.AddRange(moreNumbers)Zugriff auf Listenelemente
Sie können auf einzelne Elemente einer Liste über einen Index genauso zugreifen wie bei Arrays:
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"Beachten Sie, dass Listen nullbasiert indiziert sind, sodass das erste Element einen Index von 0 hat. Das obige Beispiel speichert das Element in der Zeichenkette, wenn es existiert.
Ändern von Listenelementen
Um ein Element in einer Liste zu modifizieren, weisen Sie einfach dem Element an der gewünschten Indexstelle einen neuen Wert zu, wobei Sie den nullbasierten Index beachten:
fruits[1] = "blueberry";fruits(1) = "blueberry"Jetzt ist das zweite Element in der Obstliste "Heidelbeere" statt "Banane".
Elemente aus einer Liste entfernen
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")Alternativ können Sie die RemoveAt-Methode verwenden, um ein Element an einem angegebenen Index zu entfernen:
fruits.RemoveAt(0);fruits.RemoveAt(0)Um alle Elemente aus einer Liste zu entfernen, verwenden Sie die Clear-Methode:
fruits.Clear();fruits.Clear()Finden von Elementen in einer Liste
Sie können die Contains()-Methode verwenden, um zu prüfen, ob eine Liste ein bestimmtes Element enthält:
bool containsApple = fruits.Contains("apple"); // trueDim containsApple As Boolean = fruits.Contains("apple") ' trueUm den Index des ersten Vorkommens eines Elements zu finden, verwenden Sie die IndexOf-Methode:
int appleIndex = fruits.IndexOf("apple"); // 0Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0Wenn das Element nicht gefunden wird, gibt IndexOf -1 zurück.
Looping durch eine Liste
Um durch die Elemente in einer Liste zu iterieren, können Sie eine foreach-Schleife verwenden:
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}For Each fruit As String In fruits
Console.WriteLine(fruit)
Next fruitAlternativ 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 i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next iSortieren einer Liste
Um eine Liste in aufsteigender Reihenfolge zu sortieren, verwenden Sie die Sort-Methode:
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()
' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }Um eine Liste in absteigender Reihenfolge zu sortieren, können Sie die Sort-Methode mit einem benutzerdefinierten Vergleich verwenden:
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 }Für komplexere Sortierungen können Sie eine benutzerdefinierte IComparer-Klasse implementieren oder LINQ (Language Integrated Query) verwenden. Der Binärsuchalgorithmus funktioniert auf sortierten Listen.
Verwendung von LINQ mit Listen
LINQ ermöglicht es Ihnen, leistungsstarke Abfragen und Transformationen auf Sammlungen, einschließlich Listen, durchzuführen. Um LINQ zu verwenden, müssen Sie zuerst das System.Linq-Namespace in Ihren Code einbinden:
using System.Linq;Imports System.LinqHier sind einige Beispiele für LINQ-Abfragen auf einer Liste:
Filtern einer Liste
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()Elemente in einer Liste abbilden (umwandeln)
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()Minimal- und Maximalwerte in einer Liste finden
int minValue = numbers.Min();
int maxValue = numbers.Max();Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()Konvertierung einer Liste in ein Array
Um eine Liste in ein Array zu konvertieren, können Sie die ToArray-Methode verwenden:
int[] numbersArray = numbers.ToArray();Dim numbersArray() As Integer = numbers.ToArray()Listendaten mit IronPDF in eine PDF-Datei exportieren
In diesem Abschnitt zeigen wir, wie Sie die Daten in einer Liste mit der IronPDF-Bibliothek in eine PDF-Datei exportieren. Dies kann hilfreich sein, wenn Sie einen Bericht oder eine druckbare Version Ihrer Daten erstellen möchten.
Laden Sie zuerst das IronPDF NuGet-Paket herunter und installieren Sie es in Ihrem Projekt:
Als nächstes binden Sie das IronPdf-Namespace in Ihren Code ein:
using IronPdf;Imports IronPdfNun 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 System.Text;
using IronPdf;
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
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 System.Text
Imports IronPdf
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
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
' Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath)
End SubUm diese Funktion zu verwenden, rufen Sie sie einfach mit Ihrer Liste und dem gewünschten PDF-Dateipfad auf:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")Dies wird eine PDF-Datei mit dem Namen "Fruits.pdf" erzeugen, die eine Tabelle mit der Obstliste enthält, indem Sie HTML mit IronPDF in PDF umwandeln. Sie können die ExportListToPdf-Funktion nach Ihren Bedürfnissen anpassen, wie z.B. das Hinzufügen von benutzerdefiniertem Styling zur HTML-Tabelle oder zusätzlichen Inhalten zum PDF.

Abschluss
In diesem anfängerfreundlichen Tutorial haben wir die Grundlagen der Verwendung von C#-Listen behandelt und gezeigt, wie man IronPDF integriert, um Listendaten in eine PDF-Datei zu exportieren. Durch die Einbindung von IronPDF in Ihre Projekte können Sie einfach Berichte, Rechnungen oder andere druckbare Dokumente aus Ihren C#-Projekten generieren.
IronPDF bietet eine kostenlose Testversion, mit der Sie seine Fähigkeiten testen können, bevor Sie einen Kauf tätigen.

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.
Verwandte Artikel


