.NET-HILFE

C# Liste drucken: Ein schnelles Tutorial

Chaknith Bin
Chaknith Bin
20. Mai 2024
Teilen Sie:

In C# ist das Drucken einer Liste eine gängige Aufgabe, die auf verschiedene Weise erledigt werden kann und Flexibilität und Anpassungsmöglichkeiten bietet. Listen sind grundlegende Datenstrukturen in C#, und die Möglichkeit, ihren Inhalt auszudrucken, ist für das Debugging, die Protokollierung oder die Anzeige von Informationen für Benutzer entscheidend.

In diesem Artikel werden wir verschiedene Methoden untersuchen, um eine Liste in C# auszugeben.

Grundlagen der Liste in C##

In C# ist eine Liste ein dynamisches Array, das in der Größe wachsen oder schrumpfen kann. Sie ist Teil des System.Collections.Generic-Namespace und bietet Flexibilität und Effizienz beim Umgang mit Sammlungen von Elementen. Der folgende Code erstellt eine einfache Nummernliste:

using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
    }
}
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Drucken einer Liste mit Hilfe einer Schleife

1. Foreach-Schleife verwenden

Die traditionelle und einfache Methode, die Elemente einer Liste zu drucken, ist die Verwendung einer foreach-Schleife. Hier ist ein einfaches Beispiel:

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        Console.WriteLine("Printing list using foreach loop:");
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}
using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        Console.WriteLine("Printing list using foreach loop:");
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}
Imports System
Imports System.Collections.Generic
Friend Class Program
	Public Shared Sub Main()
		Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
		Console.WriteLine("Printing list using foreach loop:")
		For Each number In numbers
			Console.WriteLine(number)
		Next number
	End Sub
End Class
$vbLabelText   $csharpLabel

Diese Methode ist prägnant und gut lesbar, so dass sie für die meisten Szenarien geeignet ist.

2. For-Schleife verwenden

Wenn Sie mehr Kontrolle über den Index benötigen oder Elemente bedingt ausdrucken möchten, können Sie eine for-Schleife verwenden. Hier ist ein Beispiel für eine Zeichenfolgenliste:

using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
    // create list of strongly typed objects
        List<string> colors = new List<string> { "Red", "Green", "Blue", "Yellow" };
        Console.WriteLine("Printing list using for loop:");
        for (int index = 0; index < colors.Count; index++)
        {
            Console.WriteLine($"Color at index {index}: {colors[index]}");
        }
    }
}
using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
    // create list of strongly typed objects
        List<string> colors = new List<string> { "Red", "Green", "Blue", "Yellow" };
        Console.WriteLine("Printing list using for loop:");
        for (int index = 0; index < colors.Count; index++)
        {
            Console.WriteLine($"Color at index {index}: {colors[index]}");
        }
    }
}
Imports System
Imports System.Collections.Generic
Friend Class Program
	Public Shared Sub Main()
	' create list of strongly typed objects
		Dim colors As New List(Of String) From {"Red", "Green", "Blue", "Yellow"}
		Console.WriteLine("Printing list using for loop:")
		For index As Integer = 0 To colors.Count - 1
			Console.WriteLine($"Color at index {index}: {colors(index)}")
		Next index
	End Sub
End Class
$vbLabelText   $csharpLabel

Dieser Ansatz ist vorteilhaft, wenn Sie Zugriff auf den Index benötigen oder eine bestimmte Logik beim Drucken anwenden möchten.

Listenelemente in umgekehrter Reihenfolge drucken

Das Drucken einer Liste in umgekehrter Reihenfolge kann durch die Nutzung der Reverse-Methode erreicht werden. Diese Methode kehrt die Reihenfolge der Elemente in der Liste um, so dass Sie sie anschließend durchgehen und ausdrucken können.

1. Methode List.Reverse verwenden

Zum Beispiel können Sie die Liste in umgekehrter Reihenfolge ausdrucken, indem Sie die Reverse-Methode verwenden und dann jedes Element drucken.

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Reverse();
foreach (var number in numbers)
{
    Console.WriteLine(number);
}
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Reverse();
foreach (var number in numbers)
{
    Console.WriteLine(number);
}
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
numbers.Reverse()
For Each number In numbers
	Console.WriteLine(number)
Next number
$vbLabelText   $csharpLabel

2. LINQ OrderByDescending verwenden

Sie können auch die Methode OrderByDescending mit einem Schlüssel verwenden, um eine angegebene Sammlung von Elementen aus der generischen LINQ-Klasse anzuordnen:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var reversedNumbers = numbers.OrderByDescending(n => n);
foreach (var number in reversedNumbers)
{
    Console.WriteLine(number);
}
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var reversedNumbers = numbers.OrderByDescending(n => n);
foreach (var number in reversedNumbers)
{
    Console.WriteLine(number);
}
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Dim reversedNumbers = numbers.OrderByDescending(Function(n) n)
For Each number In reversedNumbers
	Console.WriteLine(number)
Next number
$vbLabelText   $csharpLabel

Zählen der Anzahl der Elemente und Drucken

Das Zählen der Anzahl der Elemente in einer Liste ist eine gängige Operation. Die Count-Eigenschaft oder die Count-Methode kann für diesen Zweck verwendet werden. Sobald Sie die Zählung haben, können Sie sie einfach ausdrucken.

1. Verwendung der Eigenschaft List.Count

List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count;
Console.WriteLine($"Number of elements: {count}");
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count;
Console.WriteLine($"Number of elements: {count}");
Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"}
Dim count As Integer = names.Count
Console.WriteLine($"Number of elements: {count}")
$vbLabelText   $csharpLabel

2. Verwendung der LINQ-Zählmethode

List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count();
Console.WriteLine($"Number of elements: {count}");
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count();
Console.WriteLine($"Number of elements: {count}");
Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"}
Dim count As Integer = names.Count()
Console.WriteLine($"Number of elements: {count}")
$vbLabelText   $csharpLabel

Drucken von Listenelementen bei angegebenem Index

Das Drucken von Elementen an einem bestimmten Index erfordert den Zugriff auf die Liste an diesem Index. Auf diese Weise können Sie auf Elemente an verschiedenen Orten zugreifen und sicherstellen, dass Sie potenzielle Indexüberschreitungen bewältigen können:

List<double> prices = new List<double> { 19.99, 29.99, 39.99 };
int indexToPrint = 1;
if (indexToPrint >= 0 && indexToPrint < prices.Count)
{
    Console.WriteLine($"Element at index {indexToPrint}: {prices[indexToPrint]}");
}
else
{
    Console.WriteLine("Index out of range.");
}
List<double> prices = new List<double> { 19.99, 29.99, 39.99 };
int indexToPrint = 1;
if (indexToPrint >= 0 && indexToPrint < prices.Count)
{
    Console.WriteLine($"Element at index {indexToPrint}: {prices[indexToPrint]}");
}
else
{
    Console.WriteLine("Index out of range.");
}
Dim prices As New List(Of Double) From {19.99, 29.99, 39.99}
Dim indexToPrint As Integer = 1
If indexToPrint >= 0 AndAlso indexToPrint < prices.Count Then
	Console.WriteLine($"Element at index {indexToPrint}: {prices(indexToPrint)}")
Else
	Console.WriteLine("Index out of range.")
End If
$vbLabelText   $csharpLabel

Diese Beispiele bieten eine Grundlage für das Drucken von Listenelementen in verschiedenen Szenarien. Es gibt weitere nützliche Methoden, die die list-Klasse bietet, die beim Drucken verwendet werden können.

Einige nützliche Methoden sind:

  • Entfernen: Die Remove()-Methode entfernt das erste Vorkommen in der C#-Liste
  • RemoveAll: Die Methode RemoveAll() wird verwendet, um Elemente basierend auf dem angegebenen Prädikat zu entfernen.
  • RemoveRange: Die Methode RemoveRange() entfernt einen Bereich von Elementen basierend auf den angegebenen Index- und Anzahlparametern.
  • Add: Die Add()-Methode kann nur ein Element am Ende der Liste hinzufügen.
  • AddRange: Die Methode AddRange() kann verwendet werden, um Elemente der angegebenen Sammlung am Ende hinzuzufügen.
  • Clear: Die Clear()-Methode entfernt alle Elemente aus der Liste.
  • Insert: Die Insert()-Methode fügt ein Element an der angegebenen Position in die Liste ein.
  • ForEach: Die ForEach()-Methode wird verwendet, um eine spezifische Aktion für jedes Element auszuführen, z.B. jeden Listeneintrag effizient auszudrucken.
  • ToArray: Die ToArray()-Methode kopiert die Liste in ein neues var Array.

    Jetzt können Sie den Ansatz wählen, der Ihren Anforderungen am besten entspricht und die Lesbarkeit und Effizienz Ihres C#-Codes verbessert.

String.Join Methode

Die String.Join-Methode bietet eine prägnante Möglichkeit, die Elemente einer Liste mit einem angegebenen Trennzeichen in eine einzelne Zeichenkette zu verketten. Dies kann für die Erstellung einer formatierten String-Darstellung der Liste nützlich sein.

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
string result = string.Join(", ", numbers);
Console.WriteLine(result);
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
string result = string.Join(", ", numbers);
Console.WriteLine(result);
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Dim result As String = String.Join(", ", numbers)
Console.WriteLine(result)
$vbLabelText   $csharpLabel

Hier werden die Elemente der Liste numbers in einen String zusammengefügt, der durch ein Komma und ein Leerzeichen getrennt ist, was zu einer formatierten Ausgabe führt. Die Sortiermethode kann auch vor dem Drucken der Listenelemente verwendet werden.

LINQ für erweiterte Szenarien verwenden

Für komplexere Szenarien, bei denen Sie Elemente vor dem Drucken filtern, transformieren oder formatieren möchten, kann das Language-Integrated Query (LINQ) nützlich sein.

using System.Linq;
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
Console.WriteLine("Even numbers: " + string.Join(", ", evenNumbers));
using System.Linq;
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
Console.WriteLine("Even numbers: " + string.Join(", ", evenNumbers));
Imports System.Linq
Private numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Private evenNumbers As List(Of Integer) = numbers.Where(Function(n) n Mod 2 = 0).ToList()
Console.WriteLine("Even numbers: " & String.Join(", ", evenNumbers))
$vbLabelText   $csharpLabel

In diesem Beispiel wird LINQ verwendet, um gerade Zahlen aus der ursprünglichen Liste herauszufiltern. Die Where()-Methode wird mit einem Lambda-Ausdruck angewendet, und die ToList()-Methode wird verwendet, um das Ergebnis zurück in eine Liste zu konvertieren.

C# Print a List (Wie es für Entwickler funktioniert): Abbildung 1 - Konsolenausgabe: Gerade Zahlen: 2, 4

Benutzerdefinierte Objekte und die Methode ToString()

Wenn Sie eine Liste benutzerdefinierter Objekte haben, wird empfohlen, die ToString-Methode in Ihrer Objektklasse für eine aussagekräftige Darstellung zu überschreiben. Das folgende Beispiel zeigt, wie es geht:

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public override string ToString()
    {
        return $"{Name}, {Age} years old";
    }
}
class Program
{
    public static void Main()
    {
    List<Person> people = new List<Person>
    {
        new Person { Name = "Alice", Age = 30 },
        new Person { Name = "Bob", Age = 25 }
    };
    foreach (Person person in people)
    {
        Console.WriteLine(person);
    }
    }
}
class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public override string ToString()
    {
        return $"{Name}, {Age} years old";
    }
}
class Program
{
    public static void Main()
    {
    List<Person> people = new List<Person>
    {
        new Person { Name = "Alice", Age = 30 },
        new Person { Name = "Bob", Age = 25 }
    };
    foreach (Person person in people)
    {
        Console.WriteLine(person);
    }
    }
}
Friend Class Person
	Public Property Name() As String
	Public Property Age() As Integer
	Public Overrides Function ToString() As String
		Return $"{Name}, {Age} years old"
	End Function
End Class
Friend Class Program
	Public Shared Sub Main()
	Dim people As New List(Of Person) From {
		New Person With {
			.Name = "Alice",
			.Age = 30
		},
		New Person With {
			.Name = "Bob",
			.Age = 25
		}
	}
	For Each person As Person In people
		Console.WriteLine(person)
	Next person
	End Sub
End Class
$vbLabelText   $csharpLabel

Durch das Überschreiben der ToString()-Methode in der Person-Klasse steuern Sie, wie Instanzen der Klasse als Zeichenfolgen dargestellt werden. Dadurch wird die Lesbarkeit der Liste beim Ausdrucken verbessert.

C# Liste drucken (So funktioniert es für Entwickler): Abbildung 2 - Konsolenausgabe

Einführung in IronPrint - C# Druckbibliothek

IronPrint zeichnet sich als leistungsstarke und einsetzbare Druckbibliothek aus, die Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit in den Vordergrund stellt. Die plattformübergreifende Unterstützung und die Kompatibilität mit verschiedenen Dokumentenformaten machen es zu einem wertvollen Werkzeug für .NET-Entwickler, die effiziente Drucklösungen für ihre Anwendungen suchen.

C# Drucken einer Liste (Wie es für Entwickler funktioniert): Abbildung 3 - IronPrint for .NET: Die C# Druckbibliothek

Wesentliche Merkmale

Hier sind einige wichtige Schlüsselfunktionen, die IronPrint für den Druck physischer Dokumente in C#-Anwendungen auszeichnen:

1. Plattformübergreifende Kompatibilität

  • unterstützung der .NET-Versionen: .NET 8, 7, 6, 5 und Core 3.1+
  • Betriebssysteme: Windows (7+, Server 2016+), macOS (10+), iOS (11+), Android API 21+ (v5 "Lollipop")
  • Projekttypen: Mobil (Xamarin & MAUI & Avalonia), Desktop (WPF & MAUI & Windows Avalonia), Konsole (App & Bibliothek)

2. Unterstützte Formate

  • Verarbeitet verschiedene Dokumentformate, darunter PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE, BITMAP.
  • Passen Sie die Druckeinstellungen an die Anforderungen des Dokuments an.

3. Einfache Installation

Installieren Sie die IronPrint-Bibliothek über die NuGet-Paket-Manager-Konsole:

Install-Package IronPrint
Install-Package IronPrint
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPrint
$vbLabelText   $csharpLabel

Alternativ können Sie es auch mit Visual Studio in Ihrem Projekt installieren. Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und klicken Sie auf NuGet Package Manager für Lösungen verwalten. Im NuGet-Browsen-Tab suchen Sie nach "ironprint", wählen Sie die neueste Version des IronPrint-Pakets aus den Suchergebnissen aus und klicken Sie dann auf die Schaltfläche Installieren, um es zu Ihrem Projekt hinzuzufügen.

Drucken mit IronPrint: Code-Beispiele

1. Dokument drucken

IronPrint bietet das geräuschlose Drucken von Dokumenten mit der einfachen Print-Methode an. Wenn der physische Drucker nicht verfügbar ist, wird der vom Betriebssystem festgelegte Standarddrucker verwendet.

using IronPrint;
// Print the document
Printer.Print("newDoc.pdf");
using IronPrint;
// Print the document
Printer.Print("newDoc.pdf");
Imports IronPrint
' Print the document
Printer.Print("newDoc.pdf")
$vbLabelText   $csharpLabel

2. Drucken mit Dialog

Es bietet auch eine spezielle Methode, um den Druckdialog anzuzeigen, um beim Drucken eine bessere Kontrolle zu gewährleisten. Die Methode ShowPrintDialogAsync kann auch verwendet werden, um asynchron zu drucken.

using IronPrint;
// Show print dialog
Printer.ShowPrintDialog("newDoc.pdf");
using IronPrint;
// Show print dialog
Printer.ShowPrintDialog("newDoc.pdf");
Imports IronPrint
' Show print dialog
Printer.ShowPrintDialog("newDoc.pdf")
$vbLabelText   $csharpLabel

3. Anpassen der Druckeinstellungen

IronPrint bietet verschiedene print-Einstellungen, die eine detaillierte Steuerung des Druckdokuments ermöglichen.

using IronPrint;
// Configure print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("newDoc.pdf", printSettings);
using IronPrint;
// Configure print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("newDoc.pdf", printSettings);
Imports IronPrint
' Configure print settings
Private printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("newDoc.pdf", printSettings)
$vbLabelText   $csharpLabel

Um ein besseres Verständnis der verwendeten Klassen und Methoden zu erhalten, besuchen Sie bitte die Seite API-Referenz.

Schlussfolgerung

Das Drucken einer Liste in C# erfordert die Wahl der richtigen Methode je nach Komplexität der Daten und der gewünschten Ausgabe. Unabhängig davon, ob Sie eine einfache Schleife, String.Join(), LINQ oder die Anpassung der ToString()-Methode für benutzerdefinierte Objekte verwenden, versetzt Sie das Verständnis dieser Ansätze in die Lage, die Inhalte von Listen in Ihren C#-Anwendungen effektiv anzuzeigen. Experimentieren Sie mit diesen Techniken und wählen Sie diejenige aus, die für Ihren speziellen Anwendungsfall am besten geeignet ist.

IronPrint ist Ihre erste Wahl unter den Druckbibliotheken, wenn Sie Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit wünschen. Egal, ob Sie WebApps entwickeln, mit MAUI, Avalonia oder anderen .NET-Produkten arbeiten, IronPrint unterstützt Sie dabei. Für ausführlichere Informationen zu IronPrint besuchen Sie bitte diese Dokumentationsseite .

IronPrint ist eine kostenpflichtige Bibliothek, aber eine kostenlose Testversion. Laden Sie die Bibliothek von hier herunter und probieren Sie es aus!

Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.
< PREVIOUS
Master C# Print Funktion: A Developer's Guide
NÄCHSTES >
C# Druckkonsole: Schritt-für-Schritt-Anleitung

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >