
C# Druckliste: Ein schnelles Tutorial
In C# ist das Drucken einer Liste eine häufige Aufgabe, die auf verschiedene Weisen erledigt werden kann und Flexibilität sowie Anpassungsmöglichkeiten bietet. Listen sind grundlegende Datenstrukturen in C# und die Möglichkeit, deren Inhalte zu drucken, ist entscheidend für Debugging, Protokollierung oder die Anzeige von Informationen an Benutzer.
In diesem Artikel werden wir verschiedene Methoden zum Drucken einer Liste in C# untersuchen.
Grundlagen der Liste in C#
In C# ist ein list ein dynamisches Array, das an Größe wachsen oder schrumpfen kann. Es ist Teil des System.Collections.Generic-Namespace und bietet Flexibilität und Effizienz im Umgang mit Auflistungen von Elementen. Der folgende Code erstellt eine einfache Zahlenliste:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
}
}Imports System
Imports System.Collections.Generic
Class Program
Shared Sub Main()
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
End Sub
End ClassDrucken einer Liste mit einer Schleife
1. Verwendung von foreach Schleife
Der herkömmliche und einfache Weg, die Elemente einer Liste auszugeben, 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);
}
}
}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 ClassDiese Methode ist prägnant und lesbar und eignet sich für die meisten Szenarien.
2. Verwendung von for Schleife
Wenn Sie mehr Kontrolle über den Index benötigen oder Elemente unter bestimmten Bedingungen ausgeben 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]}");
}
}
}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 ClassDieser Ansatz ist vorteilhaft, wenn Sie Zugriff auf den Index benötigen oder spezifische Logik während des Druckens anwenden möchten.
Drucken von Listenelementen in umgekehrter Reihenfolge
Das Ausgeben 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, sodass Sie sie dann durchlaufen und drucken können.
1. Verwendung der List.Reverse-Methode
Beispielsweise können Sie die Liste in umgekehrter Reihenfolge ausgeben, indem Sie die Reverse-Methode verwenden und dann jedes Element drucken.
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Reverse();
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}
numbers.Reverse()
For Each number In numbers
Console.WriteLine(number)
Next number
End Sub
End Class2. Verwendung von LINQ OrderByDescending
Sie können auch die OrderByDescending-Methode mit einem Schlüssel verwenden, um eine angegebene Auflistung von Elementen aus der generischen Klasse von LINQ zu arrangieren:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void Main()
{
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);
}
}
}Imports System
Imports System.Collections.Generic
Imports System.Linq
Friend Class Program
Public Shared Sub Main()
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
End Sub
End ClassZählen der Anzahl von Elementen und Drucken
Das Zählen der Anzahl der Elemente in einer Liste ist eine häufige Operation. Die Count-Eigenschaft kann für diesen Zweck verwendet werden. Sobald Sie die Anzahl haben, können Sie sie leicht drucken.
1. Verwendung der List.Count-Eigenschaft
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count;
Console.WriteLine($"Number of elements: {count}");
}
}Imports System
Imports System.Collections.Generic
Friend Class Program
Public Shared Sub Main()
Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"}
Dim count As Integer = names.Count
Console.WriteLine($"Number of elements: {count}")
End Sub
End Class2. Verwendung der LINQ Count-Methode
Wenn LINQ bevorzugt wird, kann es auch zum Zählen verwendet werden:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void Main()
{
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
int count = names.Count();
Console.WriteLine($"Number of elements: {count}");
}
}Imports System
Imports System.Collections.Generic
Imports System.Linq
Friend Class Program
Public Shared Sub Main()
Dim names As New List(Of String) From {"Alice", "Bob", "Charlie"}
Dim count As Integer = names.Count()
Console.WriteLine($"Number of elements: {count}")
End Sub
End ClassDrucken von Listenelementen an einem bestimmten Index
Das Drucken von Elementen an einem bestimmten Index beinhaltet den Zugriff auf die Liste an diesem Index. Dies ermöglicht es Ihnen, auf Elemente an verschiedenen Stellen zuzugreifen und sicherzustellen, dass Sie potenzielle Index-Fehler berücksichtigen:
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
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.");
}
}
}Imports System
Imports System.Collections.Generic
Friend Class Program
Public Shared Sub Main()
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
End Sub
End ClassDiese Beispiele bilden eine Grundlage, um Listenelemente in verschiedenen Szenarien zu drucken. Es gibt weitere nützliche Methoden, die die list-Klasse bietet, die zum Drucken verwendet werden können.
Einige nützliche Methoden sind:
Remove:DieRemove()-Methode entfernt das erste Vorkommen in der C#-Liste.RemoveAll:DieRemoveAll()-Methode wird verwendet, um Elemente basierend auf dem angegebenen Prädikat zu entfernen.RemoveRange:DieRemoveRange()-Methode entfernt eine Reihe von Elementen basierend auf den angegebenen Index- und Zahlenparametern.Add:DieAdd()-Methode kann nur ein Element am Ende der Liste hinzufügen.AddRange:DieAddRange()-Methode kann Elemente der angegebenen Auflistung zum Ende hinzufügen.Clear:DieClear()-Methode entfernt alle Elemente aus der Liste.Insert:DieInsert()-Methode fügt ein Element an der angegebenen Stelle in die Liste ein.ForEach:DieForEach()-Methode wird verwendet, um bestimmte Aktionen für jedes Element auszuführen, z.B. um jeden Listenwert effizient auszugeben.ToArray:DieToArray()-Methode kopiert die Liste in ein neues Array.
Jetzt können Sie den Ansatz auswählen, der am besten zu Ihren Anforderungen passt und die Lesbarkeit sowie 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 zu einer einzigen Zeichenfolge zu verketten. Dies kann nützlich sein, um eine formatierte Zeichenfolgen-Darstellung der Liste zu erstellen.
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
string result = string.Join(", ", numbers);
Console.WriteLine(result);
}
}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}
Dim result As String = String.Join(", ", numbers)
Console.WriteLine(result)
End Sub
End ClassHier werden die Elemente der Liste numbers zu einer durch Komma und Leerzeichen getrennten Zeichenfolge verbunden, was zu einer formatierten Ausgabe führt. Die Sortiermethode kann auch vor dem Drucken der Listenelemente verwendet werden.
Verwendung von LINQ für erweiterte Szenarien
Für komplexere Szenarien, bei denen Sie Elemente filtern, transformieren oder formatieren möchten, bevor Sie sie ausgeben, kann die Language-Integrated Query (LINQ) nützlich sein.
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void Main()
{
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
Imports System.Collections.Generic
Imports System.Linq
Friend Class Program
Public Shared Sub Main()
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
Dim evenNumbers As List(Of Integer) = numbers.Where(Function(n) n Mod 2 = 0).ToList()
Console.WriteLine("Even numbers: " & String.Join(", ", evenNumbers))
End Sub
End ClassIn 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 wieder in eine Liste zu konvertieren.

Benutzerdefinierte Objekte und die ToString()-Methode
Wenn Sie eine Liste von benutzerdefinierten Objekten haben, empfiehlt es sich, die ToString-Methode in Ihrer Objektklasse zu überschreiben, um eine aussagekräftige Darstellung zu erzielen. Das folgende Beispiel zeigt, wie man es macht:
using System;
using System.Collections.Generic;
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);
}
}
}Imports System
Imports System.Collections.Generic
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 ClassDurch das Überschreiben der ToString()-Methode in der Person-Klasse steuern Sie, wie Instanzen der Klasse als Zeichenfolgen dargestellt werden. Dies verbessert die Lesbarkeit Ihrer Liste beim Drucken.

Einführung in IronPrint - C# Druckbibliothek
IronPrint hebt sich als leistungsstarke und einsetzbare Druckbibliothek hervor, die Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit priorisiert. Die plattformübergreifende Unterstützung und Kompatibilität mit verschiedenen Dokumentformaten machen sie zu einem wertvollen Werkzeug for .NET-Entwickler, die effiziente Drucklösungen in ihren Anwendungen suchen.

Wichtige Merkmale
Hier sind einige wichtige Schlüsselmerkmale, die IronPrint für das Drucken physischer Dokumente in C#-Anwendungen auszeichnen:
1. Kompatibilität über Plattformen hinweg
- .NET-Versionsunterstützung: .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 (Anwendung & Bibliothek)
2. Unterstützte Formate
- Handhabung verschiedener Dokumentformate, einschließlich PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE und BITMAP.
- Anpassung der Druckeinstellungen entsprechend den Dokumentanforderungen.
3. Einfache Installation
Installieren Sie die IronPrint-Bibliothek über die NuGet-Paketmanager-Konsole:
Alternativ können Sie es in Ihrem Projekt mit Visual Studio installieren. Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und klicken Sie auf NuGet-Paketmanager für Lösungen verwalten. Geben Sie im NuGet-Browser-Tab "IronPrint" ein und wählen Sie die neueste Version des IronPrint-Pakets aus den Suchergebnissen aus. Klicken Sie dann auf die Schaltfläche Installieren, um es zu Ihrem Projekt hinzuzufügen.
Drucken mit IronPrint: Codebeispiele
1. Dokument drucken
IronPrint bietet das stille Drucken von Dokumenten unter Verwendung der einfachen Print-Methode. Wenn kein physischer Drucker verfügbar ist, wird der Standarddrucker des Betriebssystems verwendet.
using IronPrint;
class Program
{
static void Main()
{
// Print the document
Printer.Print("newDoc.pdf");
}
}Imports IronPrint
Friend Class Program
Shared Sub Main()
' Print the document
Printer.Print("newDoc.pdf")
End Sub
End Class2. Drucken mit Dialog
Es bietet auch eine spezielle Methode, um den print-Dialog anzuzeigen, um beim Drucken eine bessere Kontrolle zu haben. Die ShowPrintDialogAsync-Methode kann auch verwendet werden, um asynchron zu drucken.
using IronPrint;
class Program
{
static void Main()
{
// Show print dialog
Printer.ShowPrintDialog("newDoc.pdf");
}
}Imports IronPrint
Friend Class Program
Shared Sub Main()
' Show print dialog
Printer.ShowPrintDialog("newDoc.pdf")
End Sub
End Class3. Anpassung der Druckeinstellungen
IronPrint bietet verschiedene print-Einstellungen, die eine feine Steuerung beim Drucken des Dokuments ermöglichen.
using IronPrint;
class Program
{
static void Main()
{
// Configure print settings
PrintSettings printSettings = new PrintSettings()
{
Dpi = 150,
NumberOfCopies = 2,
PaperOrientation = PaperOrientation.Portrait
};
// Print the document
Printer.Print("newDoc.pdf", printSettings);
}
}Imports IronPrint
Friend Class Program
Shared Sub Main()
' Configure print settings
Dim printSettings As New PrintSettings() With {
.Dpi = 150,
.NumberOfCopies = 2,
.PaperOrientation = PaperOrientation.Portrait
}
' Print the document
Printer.Print("newDoc.pdf", printSettings)
End Sub
End ClassUm ein besseres Verständnis der verwendeten Klassen und Methoden zu bekommen, besuchen Sie bitte die API-Referenz-Seite.
Abschluss
Das Drucken einer Liste in C# erfordert die Wahl der richtigen Methode basierend auf der Komplexität der Daten und dem gewünschten Ergebnis. Ob Sie eine einfache Schleife, String.Join(), LINQ oder die Anpassung der ToString()-Methode für benutzerdefinierte Objekte verwenden, das Verständnis dieser Ansätze stattet Sie aus, um die Inhalte von Listen in Ihren C#-Anwendungen effektiv anzuzeigen. Experimentieren Sie mit diesen Techniken und wählen Sie diejenige, die am besten zu Ihrem spezifischen Anwendungsfall passt.
IronPrint ist Ihre bevorzugte Druckbibliothek, wenn Sie Genauigkeit, Benutzerfreundlichkeit und Schnelligkeit wünschen. Ob Sie WebApps entwickeln oder mit MAUI, Avalonia oder irgendetwas .NET-bezogen 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 ist verfügbar. Laden Sie die Bibliothek von hier herunter und probieren Sie sie aus!

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


