跳至頁尾內容
.NET 幫助

如何有效率地使用 C# print 語句

在 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!");
    }
}
$vbLabelText   $csharpLabel

在上面的程式碼中, Console.WriteLine語句輸出指定的字串值("Hello, C# Print Line!"),並在其後加上一個換行符。這是透過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.");
}
$vbLabelText   $csharpLabel

在上面的範例中,程式執行後,每個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.");
}
$vbLabelText   $csharpLabel

在這個例子中,回車符( '\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);
    }
}
$vbLabelText   $csharpLabel

我們建立的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);
}
$vbLabelText   $csharpLabel

在這個例子中, {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");
}
$vbLabelText   $csharpLabel

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

C# 列印行(開發者使用方法):圖 5 - 顯示換行符號的控制台輸出

隨機布林值

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

using System;

class Program
{
    static void Main()
    {
        Random rnd = new Random();
        for (int i = 1; i <= 5; i++)
        { 
            bool isTrue = rnd.Next(0, 2) == 1;
            Console.WriteLine($"True or False: {isTrue}");
        }
    }
}
using System;

class Program
{
    static void Main()
    {
        Random rnd = new Random();
        for (int i = 1; i <= 5; i++)
        { 
            bool isTrue = rnd.Next(0, 2) == 1;
            Console.WriteLine($"True or False: {isTrue}");
        }
    }
}
$vbLabelText   $csharpLabel

表達式傳回的指定資料將列印在控制台應用程式中,如下所示:

C# 列印行(開發者使用方法):圖 6 - 使用字串插值顯示布林值的控制台輸出

列印不同的數字格式

在程式設計中,列印各種數位格式是一個常見的需求,尤其是在處理雙精度浮點數和單精度浮點數時。 同樣,可以使用Console.WriteLine語句來精確、輕鬆地列印它們。

雙精度浮點數

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

在這個例子中, F7指定雙精度值應格式化為小數點後 7 位元。 您可以調整"F"後面的數字來控制精度。

現有字串

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

列印已存在的字串很簡單。 只需使用Console.WriteLine並包含要顯示的字串即可。

單精度浮點數

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

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

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

列印文件是許多應用程式的基本功能,而要充分發揮 C# 中的列印潛力,IronPrint 憑藉其多功能性和豐富的功能脫穎而出。

IronPrint簡介

IronPrint由 Iron Software 開發,是一個專為 .NET 生態系統(包括 C#)設計的高階列印庫。 無論您是在開發桌面應用程式、行動應用程式還是 Web 應用程序,IronPrint 都能與您的 C# 專案無縫集成,提供一套全面的工具來處理各種列印需求。

C# 列印行(開發者使用方法):圖 7 - IronPrint 網頁

IronPrint 的主要特點

1. 跨平台相容性:

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

2. .NET 版本支援:

IronPrint 相容於 .NET Framework 4.6.2 及以上版本、.NET Core 3.1+ 以及最新的 .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...");
    }
}
$vbLabelText   $csharpLabel

此處的輸出顯示了使用PrintShowPrintDialog方法列印文件的過程。 如果未安裝實體印表機,則使用預設印表機進行列印。

C# 列印行(開發者使用方法):圖 8 - 列印開始彈出視窗和儲存列印輸出彈出視窗

先進的列印功能

IronPrint 不僅限於基本的列印任務,還提供以下進階功能:

  • 靜默列印:使用Printer.PrintAsync列印文件而不顯示對話方塊。
  • 自訂列印設定:使用PrintSettings類別微調列印參數。
  • 非同步列印:非同步執行列印操作,以防止阻塞主執行緒。
  • 選擇印表機: GetPrinterNames方法可讓您從可用印表機中進行選擇,從而對列印過程進行更精細的控制。

平台特定調整

IronPrint 可讓您針對不同的平台客製化列印解決方案。 例如,在使用特定平台(如 Windows、Android、iOS 或 macOS)的 .NET Core 專案時,您可以相應地調整專案檔案中的TargetFrameworks屬性。

要了解有關 IronPrint 的更多詳細信息,請訪問此文件API 參考頁面。

結論

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

IronPrint 成為 C# 開發人員尋求強大且靈活的列印功能的強大助手。 IronPrint 具有跨平台支援、與各種 .NET 版本相容以及進階列印功能,簡化了在各種 C# 應用程式中實現列印解決方案的過程。 無論您是為桌面、行動裝置或 Web 開發,IronPrint 都能提供您所需的工具,將您的列印需求在 C# 開發世界中變為現實。

IronPrint 為商業用途提供免費試用版。 從這裡下載庫檔案並試用一下。

常見問題解答

如何在C#控制台應用程式中列印文字?

要在 C# 控制台應用程式中列印文本,可以使用Console.WriteLine方法,該方法會輸出指定的字串值,並在其後添加一個換行符。為了更精細地控制輸出,可以使用Console.Write手動管理換行符。

在 C# 中,有哪些控制行終止符的方法?

在 C# 中,您可以使用Console.Write方法控制行終止符,並附加諸如'\n'表示換行符或'\r'表示回車符之類的字元。

如何使用 C# 一次列印多行?

你可以透過建立一個接受可變長度參數清單並遍歷每一行以使用Console.WriteLine列印的方法,一次列印多行。

一個功能全面的 C# 列印庫應該具備哪些特性?

一個功能全面的 C# 列印庫應該支援跨平台功能、各種 .NET 版本和多種專案類型。 IronPrint 提供的靜默列印、自訂列印設定、非同步列印和印表機選擇等功能至關重要。

如何在C#控制台應用程式中格式化輸出?

在 C# 控制台應用程式中,您可以使用Console.WriteLine格式化輸出,並使用{0}等佔位符表示變數或表達式,從而實現動態內容顯示。

我可以在 C# 控制台輸出中使用特殊換行符號和 Unicode 嗎?

是的,您可以使用轉義序列(例如'\n'進行換行,並在控制台輸出中使用類似'\u000A'的程式碼包含Unicode字元。

如何在C#中精確列印數值?

若要在 C# 中精確列印數值,請在Console.WriteLine中使用格式說明符,例如浮點數的'F2' ,來定義小數位數。

C# 列印庫有哪些進階功能?

C# 列印庫的進階功能包括靜默列印、自訂列印設定、非同步列印和印表機選擇,這些功能可以透過 IronPrint 中的Printer.PrintAsyncGetPrinterNames等方法實現。

如何在我的 C# 專案中安裝一個全面的列印庫?

您可以使用 NuGet 套件管理器控制台,透過命令Install-Package IronPrint在 C# 專案中安裝 IronPrint 等列印庫。

是否有功能全面的 C# 列印庫的免費試用版?

是的,IronPrint 提供免費試用版,這是一個功能全面的 C# 列印庫,可以從 Iron Software 網站下載用於商業用途。

Jacob Mellor,Team Iron 首席技術官
首席技術長

Jacob Mellor 是 Iron Software 的首席技術官,也是一位富有遠見的工程師,率先開發了 C# PDF 技術。作為 Iron Software 核心程式碼庫的最初開發者,他自公司成立之初便參與塑造了其產品架構,並與執行長 Cameron Rimington 一起將其發展成為一家擁有 50 多名員工、服務於 NASA、特斯拉和全球政府機構的公司。

Jacob 於 1998 年至 2001 年在曼徹斯特大學獲得土木工程一級榮譽學士學位。 1999 年,他在倫敦創辦了自己的第一家軟體公司;2005 年,他創建了自己的第一個 .NET 元件。此後,他專注於解決微軟生態系統中的複雜問題。

他的旗艦產品 IronPDF 和 IronSuite .NET 庫在全球 NuGet 上的安裝量已超過 3000 萬次,其基礎程式碼持續為全球開發者工具提供支援。憑藉 25 年的商業經驗和 41 年的程式設計專長,Jacob 始終致力於推動企業級 C#、Java 和 Python PDF 技術的創新,同時指導下一代技術領導者。