.NET-HILFE

Wie man die C# Druckzeile effektiv nutzt

Chaknith Bin
Chaknith Bin
3. April 2024
Teilen Sie:

Das Drucken von Zeilen in C# ist ein grundlegender Aspekt von Konsolenanwendungen und beinhaltet die Anzeige von Text oder bestimmten Werten auf dem Konsolenbildschirm. Egal, ob Sie mit dem Standardausgabestrom arbeiten oder Zeichenfolgen formatieren, das Verständnis dafür, wie man Zeilen effizient ausgibt, ist entscheidend in C#-Konsolenanwendungen.

In diesem Artikel werden wir verschiedene Methoden und Techniken im Zusammenhang mit dem Drucken von Zeilen in C# untersuchen.

Grundlagen der Druckzeile

In C# beinhaltet das Drucken einer Zeile oft die Verwendung der Console.WriteLine-Methode. Schauen wir uns zunächst ein einfaches Beispiel an:

using System;
class Program {
    public static void Main() {
        Console.WriteLine("Hello, C# Print Line!");
    }
}
using System;
class Program {
    public static void Main() {
        Console.WriteLine("Hello, C# Print Line!");
    }
}
Imports System
Friend Class Program
	Public Shared Sub Main()
		Console.WriteLine("Hello, C# Print Line!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Im obigen Code gibt die Console.WriteLine-Anweisung den angegebenen Zeichenfolgenwert ("Hello, C# Print Line!") gefolgt von einem neuen Zeilenumbruch aus. Dies wird durch die WriteLine-Methode erreicht, die einen Zeilenabschlusstrennzeichen an das Ende der Ausgabe anhängt.

Leitungsabschlusswiderstände

Ein Zeilenabschluss ist ein spezielles Zeichen oder eine Sequenz, die das Ende einer Zeile anzeigt. Die beiden gebräuchlichsten Zeilenabschlüsse sind der Wagenrücklauf ('\r') und der Zeilenumbruch ('\n'). In C# kümmert sich die Console.WriteLine-Methode darum, den passenden Zeilenabschluss anhand des Betriebssystems zu verwenden.

public static void Main() {
    Console.WriteLine("This is on the first line.");
    Console.WriteLine("This is on the second line.");
}
public static void Main() {
    Console.WriteLine("This is on the first line.");
    Console.WriteLine("This is on the second line.");
}
Public Shared Sub Main()
	Console.WriteLine("This is on the first line.")
	Console.WriteLine("This is on the second line.")
End Sub
$vbLabelText   $csharpLabel

Im obigen Beispiel erzeugt nach der Programmausführung jeder Console.WriteLine eine neue Zeile im C#-Konsolenfenster, was zu den zwei angegebenen Zeilen führt.

C# Zeile drucken (Wie es für Entwickler funktioniert): Abbildung 1 - Konsolenausgabe des vorherigen Codes

Festlegen von Leitungsabschlüssen

Wenn Sie den Zeilenabschluss explizit steuern müssen, können Sie die Console.Write-Methode verwenden und den gewünschten Zeilenabschluss manuell hinzufügen:

public static void Main() {
    Console.Write("This is on the first line.");
    Console.Write('\r'); // Carriage return
    Console.Write("This is on the same line but very far left position.");
}
public static void Main() {
    Console.Write("This is on the first line.");
    Console.Write('\r'); // Carriage return
    Console.Write("This is on the same line but very far left position.");
}
Imports Microsoft.VisualBasic

Public Shared Sub Main()
	Console.Write("This is on the first line.")
	Console.Write(ControlChars.Cr) ' Carriage return
	Console.Write("This is on the same line but very far left position.")
End Sub
$vbLabelText   $csharpLabel

In diesem Beispiel wird der Wagenrücklauf ('\r') verwendet, um den Cursor an den Anfang der Zeile zu positionieren, wodurch der zweite Teil des Textes ganz links erscheint, sodass der vorherige Text überschrieben wird.

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 2 - Konsolenausgabe mit \r

Drucken mehrerer Zeilen

Um mehrere Zeilen zu drucken, ohne die Console.WriteLine-Anweisung zu wiederholen, können Sie eine Liste von Parametern variabler Länge verwenden:

public static void Main() {
    PrintLines("Line 1", "Line 2", "Line 3");
}
static void PrintLines(params string [] lines) {
    foreach (var line in lines) {
        Console.WriteLine(line);
    }
}
public static void Main() {
    PrintLines("Line 1", "Line 2", "Line 3");
}
static void PrintLines(params string [] lines) {
    foreach (var line in lines) {
        Console.WriteLine(line);
    }
}
Public Shared Sub Main()
	PrintLines("Line 1", "Line 2", "Line 3")
End Sub
Shared Sub PrintLines(ParamArray ByVal lines() As String)
	For Each line In lines
		Console.WriteLine(line)
	Next line
End Sub
$vbLabelText   $csharpLabel

Die Methode PrintLines, die wir erstellt haben, nimmt ein angegebenes Array von String-Parametern an und ermöglicht es Ihnen, eine beliebige Anzahl neuer Zeilen zu übergeben, um einen angegebenen String-Wert zu drucken:

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 3 - Konsolenausgabe durch Verwendung der PrintLines-Methode

Formatierung der Ausgabe

Die Formatierung der Ausgabe ist entscheidend, besonders bei der Arbeit mit verschiedenen Datentypen. Die Console.WriteLine-Methode bietet mehrere Überladungen, die ein spezielles Objekt und Formatierungsinformationen akzeptieren:

public static void Main() {
    int answer = 42;
    string name = "John Doe";
    Console.WriteLine("The answer is {0}.", answer);
    Console.WriteLine("Hello, {0}!", name);
}
public static void Main() {
    int answer = 42;
    string name = "John Doe";
    Console.WriteLine("The answer is {0}.", answer);
    Console.WriteLine("Hello, {0}!", name);
}
Public Shared Sub Main()
	Dim answer As Integer = 42
	Dim name As String = "John Doe"
	Console.WriteLine("The answer is {0}.", answer)
	Console.WriteLine("Hello, {0}!", name)
End Sub
$vbLabelText   $csharpLabel

In diesem Beispiel ist {0} ein Platzhalter für die angegebenen Objekte (in diesem Fall answer und name), sodass Sie variable Daten in das Ergebnis einfügen und die angegebenen Formatinformationen drucken können.

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 4 - Konsolenausgabe zeigt Formatierung

Zeilenumbrüche und Unicode-Zeichen

Für spezielle Zeilenumbrüche oder Unicode-Zeichen können Sie Escape-Sequenzen verwenden. Sie können auch jedes ASCII-Literal oder gültigen HTML-Code mit Console.WriteLine ausgeben. Zum Beispiel, um einen einzeiligen Umbruch in dieselbe Zeichenkette einzufügen:

public static void Main() {
    Console.WriteLine("This is line 1.\nThis is line 2.");
    Console.WriteLine("Line 1\u000Aline 2");
}
public static void Main() {
    Console.WriteLine("This is line 1.\nThis is line 2.");
    Console.WriteLine("Line 1\u000Aline 2");
}
Imports Microsoft.VisualBasic

Public Shared Sub Main()
	Console.WriteLine("This is line 1." & vbLf & "This is line 2.")
	Console.WriteLine("Line 1" & vbLf & "line 2")
End Sub
$vbLabelText   $csharpLabel

Hier stellen sowohl \n als auch \u000A, das angegebene Unicode-Zeichen, ein Zeilenumbruchzeichen dar, wodurch der Text in jedem Fall in die nächste Zeile verschoben wird.

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 5 - Konsolenausgabe mit Zeilenumbruchzeichen

Zufällige boolesche Werte

Der untenstehende Code verwendet String-Interpolation in der Console.WriteLine-Methode. Die String-Interpolation ist eine in C# 6.0 eingeführte Funktion, die das Einbetten von Ausdrücken oder Variablen in String-Literalen vereinfacht und den angegebenen booleschen Wert in der Konsolenanwendung korrekt anzeigt.

Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{ 
    bool isTrue = rnd.Next(0, 2) == 1;
    Console.WriteLine($"True or False: {isTrue}");
}
Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{ 
    bool isTrue = rnd.Next(0, 2) == 1;
    Console.WriteLine($"True or False: {isTrue}");
}
Dim rnd As New Random()
For i As Integer = 1 To 5
	Dim isTrue As Boolean = rnd.Next(0, 2) = 1
	Console.WriteLine($"True or False: {isTrue}")
Next i
$vbLabelText   $csharpLabel

Die vom Ausdruck zurückgegebenen Daten werden in der Konsolenanwendung wie unten dargestellt ausgedruckt:

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 6 - Konsolenausgabe zeigt boolesche Werte mit Zeichenfolgeninterpolation

Drucken verschiedener numerischer Formate

Das Drucken verschiedener numerischer Formate ist eine häufige Anforderung in der Programmierung, insbesondere beim Umgang mit doppelpräzisen Gleitkommazahlen und einfachpräzisen Gleitkommazahlen. Wiederum können die Console.WriteLine-Anweisungen genutzt werden, um sie mit Präzision und Leichtigkeit zu drucken.

Doppelte Präzision Fließkomma

double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
Dim doubleValue As Double = 0.123456789
Console.WriteLine($"Double Precision: {doubleValue:F7}")
$vbLabelText   $csharpLabel

In diesem Beispiel gibt F7 an, dass der Double-Wert mit 7 Dezimalstellen formatiert werden soll. Sie können die Zahl hinter "F" einstellen, um die Genauigkeit zu kontrollieren.

Bestehender String

string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
Dim existingString As String = "Hello, C#!"
Console.WriteLine($"Existing String: {existingString}")
$vbLabelText   $csharpLabel

Das Drucken einer bestehenden Zeichenkette ist einfach. Verwenden Sie einfach Console.WriteLine und fügen Sie den String ein, den Sie anzeigen möchten.

Einfache Präzision Fließkomma

float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
Dim singleValue As Single = 0.123456789F
Console.WriteLine($"Single Precision: {singleValue:F7}")
$vbLabelText   $csharpLabel

Ähnlich wie bei doppelter Genauigkeit wird hier der Formatbezeichner F7 für Gleitkommazahlen mit einfacher Genauigkeit verwendet. Sie können die Zahl nach 'F' entsprechend Ihren Genauigkeitsanforderungen anpassen.

Leistungsstarke Druckfunktionen mit IronPrint in C# freischalten;

Das Drucken von Dokumenten ist ein grundlegender Aspekt vieler Anwendungen, und wenn es darum geht, das volle Potenzial des Druckens in C# auszuschöpfen, zeichnet sich IronPrint als vielseitige und funktionsreiche Bibliothek aus.

Einführung in IronPrint

IronPrint, entwickelt von Iron Software, ist eine fortschrittliche Druckbibliothek, die für das .NET-Ökosystem, einschließlich C#, konzipiert wurde. Ganz gleich, ob Sie an einer Desktop-, Mobil- oder Webanwendung arbeiten, IronPrint lässt sich nahtlos in Ihre C#-Projekte integrieren und bietet ein umfassendes Set an Tools für die Bewältigung verschiedener Druckanforderungen.

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 7 - IronPrint-Webseite

Hauptmerkmale von IronPrint

1. Plattformübergreifende Kompatibilität:

IronPrint unterstützt verschiedene Betriebssysteme, darunter Windows, macOS, Android und iOS. Diese plattformübergreifende Kompatibilität stellt sicher, dass Ihre Drucklösungen die Benutzer in verschiedenen Umgebungen erreichen können.

2. Unterstützung von .NET-Versionen:

IronPrint ist mit dem .NET-Framework 4.6.2 und höher, .NET Core 3.1+ und den neuesten .NET-Versionen kompatibel und deckt eine Vielzahl von .NET-Umgebungen ab.

3. Projekttypunterstützung:

IronPrint bedient verschiedene Projekttypen, einschließlich Mobile (Xamarin & MAUI), Desktop (WPF & MAUI) und Konsole (App & Bibliothek). Dank dieser Flexibilität eignet es sich für eine Vielzahl von Anwendungsarchitekturen.

4. Einfache Installation:

Die ersten Schritte mit IronPrint sind ein Kinderspiel. Sie können die Bibliothek schnell installieren, indem Sie die NuGet-Paket-Manager-Konsole verwenden und den Befehl Install-Package IronPrint ausführen.

Grundlegende Verwendung von IronPrint

Hier ist ein einfaches Beispiel, das zeigt, wie einfach es ist, IronPrint in einer C#-Konsolenanwendung zu verwenden, um Dokumente zu drucken:

using IronPrint;
class Program
{
    static void Main()
    {
    Console.WriteLine("Printing Started...");
        // Silent printing of a document
        Printer.Print("document.pdf");
        // Or display a print dialog
        Printer.ShowPrintDialog("document.pdf");
    Console.WriteLine("Printing Completed...");
    }
}
using IronPrint;
class Program
{
    static void Main()
    {
    Console.WriteLine("Printing Started...");
        // Silent printing of a document
        Printer.Print("document.pdf");
        // Or display a print dialog
        Printer.ShowPrintDialog("document.pdf");
    Console.WriteLine("Printing Completed...");
    }
}
Imports IronPrint
Friend Class Program
	Shared Sub Main()
	Console.WriteLine("Printing Started...")
		' Silent printing of a document
		Printer.Print("document.pdf")
		' Or display a print dialog
		Printer.ShowPrintDialog("document.pdf")
	Console.WriteLine("Printing Completed...")
	End Sub
End Class
$vbLabelText   $csharpLabel

Die Ausgabe hier zeigt das Drucken eines Dokuments mithilfe der Print- und ShowPrintDialog-Methode. Wenn der physische Drucker nicht installiert ist, wird der Standarddrucker zum Drucken verwendet.

C# Print Line (Wie es für Entwickler funktioniert): Abbildung 8 - Druckstart-Popup und Speichern-Druckausgabe-Popup

Erweiterte Druckfunktionen

IronPrint geht über die grundlegenden Druckaufgaben hinaus und bietet erweiterte Funktionen wie z. B.:

  • Stilles Drucken: Dokumente drucken, ohne einen Dialog anzuzeigen, mit Printer.PrintAsync.
  • Benutzerdefinierte Druckeinstellungen: Feinabstimmung der Druckparameter mit der PrintSettings-Klasse.
  • Asynchrones Drucken: Führen Sie Druckvorgänge asynchron aus, um ein Blockieren des Hauptthreads zu verhindern.
  • Drucker auswählen: Die Methode GetPrinterNames ermöglicht es Ihnen, aus den verfügbaren Druckern zu wählen und bietet eine detailliertere Kontrolle über den Druckvorgang.

Plattformspezifische Anpassungen

IronPrint ermöglicht es Ihnen, Ihre Drucklösungen für verschiedene Plattformen anzupassen. Zum Beispiel können Sie bei der Arbeit mit .NET Core-Projekten, die auf spezifische Plattformen wie Windows, Android, iOS oder macOS abzielen, die TargetFrameworks-Eigenschaft in Ihrer Projektdatei entsprechend anpassen.

Um weitere detaillierte Informationen zu IronPrint zu erhalten, besuchen Sie bitte diese Dokumentation und API-Referenz Seiten.

Schlussfolgerung

Das Drucken von Zeilen in C# ist eine grundlegende Fähigkeit für die Entwicklung von Konsolenanwendungen. Ganz gleich, ob es um die Anzeige von Text, die Formatierung von Ausgaben oder die Steuerung von Zeilenabbrüchen geht, das Verständnis der verschiedenen verfügbaren Techniken wird Ihre Fähigkeit verbessern, effektive und lesbare Konsolenprogramme zu erstellen. Erkunden Sie die verschiedenen Methoden, die von der Console-Klasse bereitgestellt werden, experimentieren Sie mit Formatierungsoptionen und nutzen Sie die Flexibilität von C#, um in Ihren Anwendungen klare und gut strukturierte Konsolenausgaben zu erzeugen.

IronPrint erweist sich als leistungsstarker Verbündeter für C#-Entwickler, die robuste und flexible Druckfunktionen suchen. Mit seiner plattformübergreifenden Unterstützung, der Kompatibilität mit verschiedenen .NET-Versionen und den erweiterten Druckfunktionen vereinfacht IronPrint die Implementierung von Drucklösungen in verschiedenen C#-Anwendungen. Egal, ob Sie für Desktop, Mobile oder Web entwickeln, IronPrint bietet die Tools, die Sie benötigen, um Ihre Druckanforderungen in der Welt der C#-Entwicklung zum Leben zu erwecken.

IronPrint bietet eine kostenlose Testversion für kommerzielle Nutzung an. Laden Sie die Bibliothek von hier herunter und probieren Sie sie 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.
NÄCHSTES >
C# Druckvariable: Vereinfachen Sie Ihren Code

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

Lizenzen anzeigen >