.NET-HILFE

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

Veröffentlicht 6. Juni 2023
Teilen Sie:

Einführung

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.

Listen erstellen

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

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

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

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

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

Zugriff auf Listenelemente

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

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

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 Methode Remove verwenden, die das erste Vorkommen eines bestimmten Elements entfernt:

fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
VB   C#

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

Um alle Elemente aus einer Liste zu entfernen, verwenden Sie die Methode Clear:

fruits.Clear();
fruits.Clear();
fruits.Clear()
VB   C#

Suche nach Elementen in einer Liste

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

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

Wenn das Element nicht gefunden wird, gibt IndexOf -1 zurück.

Schleife durch eine Liste

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

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

Sortieren einer Liste

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

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

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.

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 zunächst den Namensraum "System.Linq" in den Programmcode Ihrer Klasse aufnehmen:

using System.Linq;
using System.Linq;
Imports System.Linq
VB   C#

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

Zuordnung (Transformation) von Elementen in einer Liste

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

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

Umwandlung einer Liste in ein Array

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

Exportieren von Listendaten in eine PDF-Datei mit IronPDF

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

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

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

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.

C# Liste (Wie es für Entwickler funktioniert) Abbildung 1 - HTML zu PDF

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

< PREVIOUS
C# This (Wie es für Entwickler funktioniert)
NÄCHSTES >
Was ist Visual Studio (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 >