.NET 幫助

如何有效使用 C# Print Line

發佈 2024年4月3日
分享:

在 C# 中打印行是控制台應用程式的一個基本方面,它涉及在控制台螢幕上顯示文字或指定值。 無論您是使用標準輸出流還是格式化字符串,了解如何列印行在 C# 控制台應用程式中,高效地工作至關重要。

在本文中,我們將探討有關在 C# 中列印行的各種方法和技術。

列印行基本知識

在C#中,列印一行通常涉及使用 Console.WriteLine 方法。 我們先來看一個簡單的例子:

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

在上述程式碼中,Console.WriteLine 語句會輸出指定的字串值(你好, C# 打印行!請提供您想要翻譯的內容。)接著一行。這是通過 WriteLine 方法實現的,該方法在輸出結束時附加一個行終止符。

行結束符

行結束符是一個特殊字符或序列,用於指示行的結尾。 最常見的兩個行結束符是回車符('\r')和換行('\n'). 在 C# 中,Console.WriteLine 方法會根據作業系統使用適當的當前行終止符號。

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

在上述範例中,程式執行後,每個 Console.WriteLine 都會在 C# 主控台視窗中產生一個新行,從而產生指定的兩行。

C# 列印行(對開發者的運作方式):圖1 - 先前代碼的控制台輸出

指定行終止符

如果您需要顯式控制行終止符,您可以使用 Console.Write 方法並手動添加所需的行終止符:

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

在此範例中,回車符('\r')用於將游標定位在行首,這樣文字的第二部分就會出現在最左側位置,即覆蓋之前的輸出。

C# 列印行(開發人員如何運作):圖 2 - 執行結果展示 \r

列印多行

若要在不重複使用 Console.WriteLine 語句的情況下列印多行,可以使用變長參數列表:

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

我們創建的 PrintLines 方法接收一個指定的字串參數陣列,允許您傳遞任意數量的新行來列印指定的字串值:

C# 列印行(開發者如何使用):圖 3 - 使用 PrintLines 方法的控制台輸出

格式化輸出

格式化輸出至關重要,尤其是在處理不同數據類型時。Console.WriteLine 方法提供了多個重載,可以接受指定的對象和格式信息:

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

在此範例中,{0} 是指定物件的佔位符(在這種情況下,answername),允許您在輸出中包含可變數據並列印指定的格式信息。

C# 列印行 (開發人員如何操作):圖 4 - 顯示格式化的控制台輸出

換行符和 Unicode 字元

對於特殊換行或 Unicode 字元,您可以使用轉義序列。 您也可以使用 Console.WriteLine 列印任何 ASCII 字面值或有效的 HTML 代碼。例如,要在同一字符串中加入單行斷行:

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

在這裡,\n\u000A, 指定的 Unicode 字元,都表示換行字元,導致文字在每種情況下移至下一行。

C# 列印行(開發者運作方式):圖 5 - 顯示換行字元的主控台輸出

隨機布林值

以下程式碼在 Console.WriteLine 方法中使用字串插值。 字串插值是 C# 6.0 中引入的一個功能,它簡化了在字串文本中嵌入表達式或變數的過程,並且在主控台應用程式上正確顯示指定的布林值。

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

從表達式返回的指定數據如下面所示,打印在控制台應用程序上:

C# 列印行(開發人員的工作原理):圖6 - 使用字串插值顯示布林值的控制台輸出

打印不同的數字格式

在程式設計中,列印各種數字格式是一個常見的需求,特別是在處理雙精度浮點數和單精度浮點數時。 再一次,可以利用 Console.WriteLine 語句精確且輕鬆地打印它們。

雙精度浮點數

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

在此範例中,F7指定雙精度值應格式化為小數點後 7 位數。 您可以調整「F」後的數字來控制精度。

現有字串

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

列印現有字串很簡單。 只需使用 Console.WriteLine 並包含您想要顯示的字符串。

單精度浮點數

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

類似於雙精度,這裡的 F7 格式指示符用於單精度浮點數。 您可以根據您的精確度要求調整 'F' 後面的數字。

利用 C# 中的 IronPrint 解鎖強大的列印功能

打印文件是許多應用程式的重要部分,而在充分利用 C# 中的打印潛能方面,IronPrint 脫穎而出,成為一個多功能且功能豐富的函式庫。

IronPrint 介紹

IronPrint由 Iron Software 開發,是專為 .NET 生態系統(包括 C#)設計的高級列印庫。 無論您是在桌面、行動或網頁應用程式上工作,IronPrint 能夠無縫整合到您的 C# 專案中,提供一套全面的工具來應對各種列印需求。

C# 列印行(它對開發人員的運作方式):圖 7 - IronPrint 網頁

IronPrint的主要功能

1. 跨平台相容性:

IronPrint 支援多種作業系統,包括 Windows、macOS、Android 和 iOS。 此跨平台相容性確保您的列印解決方案能夠到達不同環境的用戶。

2. .NET 版本支援:

與 .NET Framework 4.6.2 及以上版本、.NET Core 3.1+ 和最新 .NET 版本兼容,IronPrint 覆蓋了廣泛的 .NET 環境。

3. 專案類型支援:

IronPrint 迎合不同類型的專案,包括行動專案(Xamarin & MAUI),桌面(WPF & MAUI)及主控台(應用程序及庫). 這種靈活性使其適用於各種應用程式架構。

4. 簡易安裝:

開始使用IronPrint非常輕鬆。 您可以使用 NuGet 套件管理器控制台快速安裝該庫並執行 Install-Package IronPrint 命令。

IronPrint 的基本用法

以下是一個簡單的示例,展示如何在 C# 控制台應用程式中輕鬆使用 IronPrint。列印文件:

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

輸出這裡顯示了使用 PrintShowPrintDialog 方法列印文件。 如果未安裝實體打印機,則使用預設打印機進行打印。

C# 列印 Line(開發人員的工作原理):圖 8 - 列印開始彈出視窗和儲存列印輸出彈出視窗

進階列印功能

IronPrint 超越了基本的印刷任務,並提供以下高級功能:

  • 靜默列印:使用Printer.PrintAsync在不顯示對話框的情況下列印文件。
  • 自訂列印設定:使用列印設定類別。
  • 異步列印:異步執行列印操作,以防止阻塞主執行緒。
  • 選擇印表機:TheGetPrinterNames此方法允許您從可用的打印機中選擇,從而對打印過程進行更細緻的控制。

平台特定的調整

IronPrint 允許您為不同平台量身打造您的列印解決方案。 例如,在處理針對特定平台(如 Windows、Android、iOS 或 macOS)的 .NET Core 專案時,您可以相應地調整專案檔中的 TargetFrameworks 屬性。

如需獲取有關 IronPrint 的更多詳情,請訪問此頁面。文檔API 參考頁面。

結論

在 C# 中打印行是控制檯應用程式開發的基礎技能。 無論是顯示文本、格式化輸出還是控制行終止符,了解可用的各種技術將提高您創建有效且易讀的控制台程序的能力。 探索 Console 類別提供的多種方法,嘗試格式化選項,利用 C# 的靈活性在應用程式中生成清晰且結構良好的控制台輸出。

IronPrint 作為尋求強大且靈活列印功能的 C# 開發人員的有力盟友出現。 憑藉其跨平台支持、與各種 .NET 版本的兼容性,以及先進的打印功能,IronPrint 簡化了在各種 C# 應用程式中實現打印解決方案的過程。 無論您是在為桌面、行動裝置還是網頁開發,IronPrint 都提供了您所需的工具,使您的打印需求在 C# 開發世界中得以實現。

IronPrint 提供一個免費試用商業用途。 從下載該庫這裡試試看。

下一個 >
C# 列印變數:簡化您的代碼

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 13,051 查看許可證 >