Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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 Sammelklassen und stark typisierter Objekte bietet. 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.
Um die Klasse List zu verwenden, müssen Sie zunächst den generischen Namespace "System.Collections" in Ihren Code aufnehmen:
using System.Collections.Generic;
using System.Collections.Generic;
Imports System.Collections.Generic
Nachdem Sie einen generischen 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 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)()
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"}
Im obigen Beispiel können wir auch die Standardanfangskapazität der Liste angeben. Die angegebene Anfangskapazität ist die maximale Standardkapazität der Liste.
Um Elemente zu Ihrer internen Datenstrukturliste hinzuzufügen, verwenden Sie die Funktion `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)
Mit der Methode AddRange
können Sie der Liste auch einen Bereich von Elementen einer bestimmten Sammlung hinzufügen:
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);
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)
Sie können auf einzelne Elemente einer Liste mit einem Index zugreifen, genau wie bei Arrays:
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"
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 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.
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"
Das zweite Element in der Obstliste ist nun "Heidelbeere" statt "Banane".
Um ein Element aus einer Liste zu entfernen, können Sie die Methode Remove
verwenden, die das erste Vorkommen eines bestimmten Elements entfernt:
fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
Alternativ können Sie die Methode RemoveAt
verwenden, um ein Element am angegebenen Index zu entfernen, wenn das Element existiert:
fruits.RemoveAt(0);
fruits.RemoveAt(0);
fruits.RemoveAt(0)
Um alle Elemente aus einer Liste zu entfernen, verwenden Sie die Methode Clear
:
fruits.Clear();
fruits.Clear();
fruits.Clear()
Sie können die Option `Enthält()methode zur Überprüfung, ob eine Liste ein bestimmtes Element enthält:
bool containsApple = fruits.Contains("apple"); // true
bool containsApple = fruits.Contains("apple"); // true
Dim containsApple As Boolean = fruits.Contains("apple") ' true
Um den Index des ersten Vorkommens eines Elements zu finden, verwenden Sie die Methode IndexOf
:
int appleIndex = fruits.IndexOf("apple"); // 0
int appleIndex = fruits.IndexOf("apple"); // 0
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
Wenn das Element nicht gefunden wird, gibt IndexOf
-1 zurück.
Um die Elemente in einer Liste zu durchlaufen, 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
Alternativ können Sie eine for-Schleife mit der Eigenschaft Count
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
Um eine Liste in aufsteigender Reihenfolge zu sortieren, verwenden Sie die Methode Sort
:
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
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 Methode "Sort" mit einem durch einen benutzerdefinierten Vergleich festgelegten Prädikatsdelegat 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 }
Für komplexere Sortierungen können Sie eine benutzerdefinierte `IComparer'-Klasse implementieren oder LINQ verwenden(Sprache Integrierte Abfrage). Der binäre Suchalgorithmus arbeitet mit sortierten Listen.
Mit LINQ können Sie leistungsstarke Abfragen und Transformationen für Sammlungen, einschließlich Listen, durchführen. Um LINQ zu verwenden, müssen Sie zunächst den Namensraum "System.Linq" in den Programmcode Ihrer Klasse aufnehmen:
using System.Linq;
using System.Linq;
Imports System.Linq
Hier sind einige Beispiele für LINQ-Abfragen auf 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()
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()
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()
Um eine Liste in ein Array umzuwandeln, können Sie die Methode "ToArray" verwenden:
int[] numbersArray = numbers.ToArray();
int[] numbersArray = numbers.ToArray();
Dim numbersArray() As Integer = numbers.ToArray()
In diesem Abschnitt wird gezeigt, wie man die Daten einer Liste in eine PDF-Datei exportiert, indem man dieIronPDF-Bibliothek. 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
Lassen Sie uns nun eine einfache Funktion erstellen, die eine "Liste" von Zeichenketten in eine HTML-Tabelle umwandelt und 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
Um diese Funktion im obigen Beispiel 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");
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")
Dadurch wird eine PDF-Datei mit dem Namen "Fruits.pdf" erzeugt, die eine Tabelle mit der Standardkapazitätsliste der Früchte nachkonvertierung von HTML in PDF mit IronPDF die den definierten Bedingungen entsprechen. Sie können die Funktion "ExportListToPdf" an Ihre Bedürfnisse anpassen, z. B. indem Sie der HTML-Tabelle ein benutzerdefiniertes Styling oder der PDF-Datei zusätzliche Inhalte hinzufügen.
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 einekostenloser Testso können Sie die Fähigkeiten des Geräts testen, bevor Sie sich zum Kauf verpflichten. Wenn Sie sich entscheiden, IronPDF nach der Testphase weiter zu nutzen, beginnt die Lizenzierung bei $749, wobei mehrere Lizenzierungsoptionen zur Verfügung stehen, die Ihren Bedürfnissen entsprechen.
9 .NET API-Produkte für Ihre Bürodokumente