.NET-HILFE

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

Veröffentlicht 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 drucken einer Liste in C#.

Grundlagen der Liste in C##

In C# wird eine liste ist ein dynamisches Array, das wachsen oder schrumpfen kann. Es ist Teil des Namespace "System.Collections.Generic" und bietet Flexibilität und Effizienz bei der Handhabung von 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
VB   C#

Drucken einer Liste mit Hilfe einer Schleife

1. Foreach-Schleife verwenden

Die traditionelle und einfache Art, 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
VB   C#

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 ausgeben wollen, können Sie eine "for"-Schleife verwenden. Hier ist ein Beispiel für eine String-Liste:

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

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 mit der Methode Reverse 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

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

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

2. LINQ OrderByDescending verwenden

Sie können auch die sortieren nach absteigend methode mit einem Schlüssel, um eine bestimmte 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
VB   C#

Zählen der Anzahl der Elemente und Drucken

Das Zählen der Anzahl der Elemente in einer Liste ist eine gängige Operation. Zu diesem Zweck kann die Eigenschaft Count oder die Methode Count 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}")
VB   C#

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

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

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

Einige nützliche Methoden sind:

  • entfernen:` Die Funktion Entfernen() methode entfernt das erste Vorkommen in der C# Liste
  • removeAll:` Die Funktion RemoveAll() methode wird verwendet, um Elemente auf der Grundlage des angegebenen Prädikats zu entfernen.
  • bereichEntfernen:` Der BereichEntfernen() methode entfernt einen Bereich von Elementen auf der Grundlage der angegebenen Parameter index und count.
  • hinzufügen:` Das Hinzufügen() methode kann nur ein Element am Ende der Liste hinzufügen.
  • addRange:` Der AddRange() methode kann verwendet werden, um Elemente der angegebenen Sammlung am Ende hinzuzufügen.
  • löschen:` Das Löschen() methode werden alle Elemente aus der Liste entfernt.
  • einfügen:` Das Einfügen() methode fügt ein Element am angegebenen Index in die Liste ein.
  • forEach:` Die ForEach() methode wird verwendet, um für jedes Element eine bestimmte Aktion durchzuführen, z. B. um jeden Listenwert effizient zu drucken.
  • toArray:` Das 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 zu einer einzigen Zeichenkette mit einem bestimmten Trennzeichen 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)
VB   C#

Hier werden die Elemente der Liste Zahlen durch ein Komma und ein Leerzeichen getrennt zu einer Zeichenkette zusammengefügt, 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, in denen Sie Elemente vor dem Druck filtern, umwandeln oder formatieren möchten, bietet die sprachintegrierte Abfrage (lINQ) kann von Vorteil 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))
VB   C#

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 wieder in eine Liste zu konvertieren.

C# Drucken einer Liste (Wie es funktioniert für Entwickler): Abbildung 1 - Konsolenausgabe: Gerade Zahlen: 2, 4

Benutzerdefinierte Objekte und die Methode ToString()

Wenn Sie eine Liste von benutzerdefinierten Objekten haben, ist es empfehlenswert, die Methode "ToString" in Ihrer Objektklasse zu überschreiben, um eine sinnvolle Darstellung zu erhalten. 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
VB   C#

Durch Überschreiben von `ToString()methode in der Klasse "Person" steuern Sie, wie Instanzen der Klasse als Zeichenketten dargestellt werden. Dadurch wird die Lesbarkeit der Liste beim Ausdrucken verbessert.

C# Drucken einer Liste (Wie es funktioniert für Entwickler): Abbildung 2 - Konsolenausgabe

Einführung in IronPrint - C# Druckbibliothek

IronPrint zeichnet sich als leistungsstarke und einsatzbereite Druckbibliothek aus, bei der Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit im Vordergrund stehen. 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 (So funktioniert es für Entwickler): 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 mit der NuGet Package Manager Console:

Install-Package IronPrint
Install-Package IronPrint
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPrint
VB   C#

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. Suchen Sie auf der Registerkarte NuGet browse 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 den geräuschlosen Druck von Dokumenten über die einfache methode Print. 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")
VB   C#

2. Drucken mit Dialog

Es bietet auch eine spezielle Methode zur Anzeige der drucken"-Dialog für eine bessere Kontrolle beim Drucken. Die Methode ShowPrintDialogAsync kann auch zum asynchronen Drucken verwendet werden.

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

3. Anpassen der Druckeinstellungen

IronPrint bietet verschiedene drucken"-Einstellungen die eine granulare Kontrolle über das Druckdokument 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)
VB   C#

Für ein besseres Verständnis der verwendeten Klassen und Methoden besuchen Sie bitte die API-Referenz seite.

Schlussfolgerung

Das Drucken einer Liste in C# erfordert die Wahl der richtigen Methode je nach Komplexität der Daten und der gewünschten Ausgabe. Ob mit einer einfachen Schleife, String.Join(), LINQ, oder die Anpassung der `ToString()methode für benutzerdefinierte Objekte. Wenn Sie diese Ansätze verstehen, können Sie den Inhalt von Listen in Ihren C#-Anwendungen effektiv anzeigen. Experimentieren Sie mit diesen Techniken und wählen Sie diejenige aus, die für Ihren speziellen Anwendungsfall am besten geeignet ist.

IronPrint ist die ideale Druckbibliothek, 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. Ausführlichere Informationen über IronPrint finden Sie hier dokumentation seite.

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

< PREVIOUS
C# Print Funktion (Wie es funktioniert für Entwickler)
NÄCHSTES >
C# Print to Console (Wie es funktioniert für Entwickler)

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

Gratis NuGet-Download Downloads insgesamt: 10,762 Lizenzen anzeigen >