跳至頁尾內容
.NET 幫助

C# Select Case(開發者如何理解它的工作原理)

在現代的 .NET 應用程式中,動態產生 PDF 是常見的需求。 無論您是要建立報表、發票或其他文件,擁有一個簡化的方式來有條件地產生不同的 PDF 格式是非常重要的。 C# 中的 轉換語句(在某些語言中也稱為 Select Case)是有效實現此類邏輯的強大工具。 switch case 將採用某種形式的資料類型 (char、int、string 等),並將其與 case 值進行比較,看看是否有匹配的值。 如果他們這樣做,該案例區塊內的程式碼就會執行; 否則,若其他大小寫模式不符合,則採用預設大小寫。

IronPDF 是適用於 .NET 開發人員的強大 PDF 產生和處理函式庫,可讓您將 HTML、圖片和其他各種內容轉換成 PDF。 透過利用 C# 的 switch 語句,您可以根據不同的條件 (例如使用者輸入或資料狀態) 自訂 PDF。

本文將教您如何使用 C# Switch case 語句與 IronPDF 來建立動態、有條件的 PDF 內容,並在程式中建立良好的控制流程,最終提升程式的效率與可讀性。

什麼是 C# 中的 Select Case (Switch)?

C# Select Case 概觀

在 C# 中,switch 語句(不要與 switch 表達式混淆)提供了一種乾淨且結構化的方式來處理基於變量值的條件邏輯。 switch case 語句可取代 if-else 語句等多重語句,讓程式碼更易於閱讀和維護。 switch 語句會為傳給語句的匹配表達式搜尋模式匹配,如果找不到匹配,才會在預設情況下執行程式碼。

以下是 C# 中 switch 語句的基本結構:

switch (variable)
{
    case value1:
        // action for value1
        break;
    case value2:
        // action for value2
        break;
    default:
        // default action if no case matches
        break;
}
switch (variable)
{
    case value1:
        // action for value1
        break;
    case value2:
        // action for value2
        break;
    default:
        // default action if no case matches
        break;
}
$vbLabelText   $csharpLabel

每個 case 代表變數的可能值,當找到符合的值時,該區塊內的程式碼就會被執行。 當您基於單一變數有多種結果時,例如決定在 PDF 中產生哪種類型的文件時,這一點尤其有用。

將 Select Case 與 IronPDF 整合以進行動態 PDF 生成。

使用 Select Case 進行 PDF 內容自訂

想像您正在開發一個系統,需要根據使用者的輸入產生不同類型的文件。 舉例來說,您可能需要為一位使用者建立一份報告,而為另一位使用者建立一張發票。 透過 C# 的 switch 語句,您可以輕鬆決定使用 IronPDF 產生哪一種 PDF。

以下是一個範例情境:根據使用者的選擇,您可以使用切換語句來決定要將哪些 HTML 內容呈現在 PDF 文件中,方法是將使用者的選擇與相同類型的 case 值進行匹配。

switch (userChoice)
{
    case "report":
        // Code to generate a report PDF using IronPDF
        break;
    case "invoice":
        // Code to generate an invoice PDF using IronPDF
        break;
    default:
        // Code to generate a default PDF document using IronPDF
        break;
}
switch (userChoice)
{
    case "report":
        // Code to generate a report PDF using IronPDF
        break;
    case "invoice":
        // Code to generate an invoice PDF using IronPDF
        break;
    default:
        // Code to generate a default PDF document using IronPDF
        break;
}
$vbLabelText   $csharpLabel

在這個範例中,系統可以透過重複使用 IronPDF 強大的 PDF 渲染功能來產生多種類型的文件,同時使用 switch 語句來簡化決策。

逐步實施

讓我們來瞭解一下如何將 C# 的切換功能與 IronPDF 整合,以產生 PDF。 在這個範例中,我們將處理兩種類型的文件:ReportsInvoices

1.安裝 IronPDF:首先,您需要安裝 IronPDF,才能開始在您的專案中使用它。

2.為不同的文件類型設定 HTML 內容: 為您的報告和發票建立 HTML 模板。這可讓 IronPDF 將這些範本渲染為 PDF。

3.使用 switch 語句進行動態選擇: 基於使用者輸入(或任何其他變數),使用 switch 語句來決定使用哪個 HTML 模板,並將其傳給 IronPDF 進行 PDF 渲染。

安裝 IronPDF。

若要開始使用 IronPDF,您首先需要安裝它。 如果已安裝,則可跳至下一節。 否則,以下步驟將涵蓋如何安裝 IronPDF 函式庫。

透過 NuGet 套件管理員控制台

使用 NuGet Package Manager Console 安裝 IronPdf,請開啟 Visual Studio 並導航至 Package Manager Console。 然後執行以下指令:

Install-Package IronPdf

透過解決方案的 NuGet 套件管理員

打開 Visual Studio,進入"工具 -> NuGet 套件管理員 -> 管理解決方案的 NuGet 套件",搜尋 IronPdf。 在此,您只需選擇專案,點選"安裝",IronPDF 即會加入您的專案中。

C# Select Case (How It Works For Developers):圖 1

安裝 IronPDF 之後,您只需在程式碼頂端加上正確的 using statement 即可開始使用 IronPDF:

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

範例:使用 IronPDF 生成具有不同風格的 PDF。

案例研究:生成報告與發票。

讓我們仔細看看一個實際的使用案例。 假設您正在為一家企業開發一個系統,該企業需要為其客戶產生報告和發票。 根據使用者的選擇,您可以將不同的內容呈現在 PDF 中。

1.報告生成:

當使用者選擇"報告"時,系統會產生一份包含特定報告內容的 PDF。 使用 HTML 模板,您可以輕鬆自訂內容結構。

   case "Report":
       string reportHtml = "<h1>Monthly Report</h1><p>This report provides a detailed overview of activities.</p>";
       PdfDocument reportPdf = pdfRenderer.RenderHtmlAsPdf(reportHtml);
       reportPdf.SaveAs("Monthly_Report.pdf");
       break;
   case "Report":
       string reportHtml = "<h1>Monthly Report</h1><p>This report provides a detailed overview of activities.</p>";
       PdfDocument reportPdf = pdfRenderer.RenderHtmlAsPdf(reportHtml);
       reportPdf.SaveAs("Monthly_Report.pdf");
       break;
$vbLabelText   $csharpLabel

2.發票生成:

對於發票,您可以在 HTML 中包含計費資訊和明細表,IronPDF 會將其轉換為高品質的 PDF。

   case "Invoice":
       string invoiceHtml = "<h1>Invoice #12345</h1><p>Billing details and itemized list here.</p>";
       PdfDocument invoicePdf = pdfRenderer.RenderHtmlAsPdf(invoiceHtml);
       invoicePdf.SaveAs("Invoice_12345.pdf");
       break;
   case "Invoice":
       string invoiceHtml = "<h1>Invoice #12345</h1><p>Billing details and itemized list here.</p>";
       PdfDocument invoicePdf = pdfRenderer.RenderHtmlAsPdf(invoiceHtml);
       invoicePdf.SaveAs("Invoice_12345.pdf");
       break;
$vbLabelText   $csharpLabel

此方法可確保您在程式碼庫中維持彈性與可重用性,因為您可以輕鬆擴充切換語句以處理其他文件類型。

程式碼範例:使用 IronPDF 和 Switch Statements 創建報表和發票。

在以下的程式碼範例中,我們會將使用者的輸入傳給 Switch 語句,以決定要產生哪一個 PDF。

using IronPdf;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("What do you want to create?");
        Console.WriteLine("a. Report");
        Console.WriteLine("b. Invoice");
        var input = Console.ReadLine();
        string docType;

        if (input == "a")
        {
            GeneratePdf("Report");
        }
        else if (input == "b")
        {
            GeneratePdf("Invoice");
        }
        else
        {
            GeneratePdf(null);
        }
    }

    public static void GeneratePdf(string docType)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        switch (docType)
        {
            case "Report":
                string reportHtml = "<h1>Report</h1><p>This is a dynamically generated report.</p>";
                PdfDocument reportPdf = renderer.RenderHtmlAsPdf(reportHtml);
                reportPdf.SaveAs("Report.pdf");
                break;
            case "Invoice":
                string invoiceHtml = "<h1>Invoice</h1><p>This is a dynamically generated invoice.</p>";
                PdfDocument invoicePdf = renderer.RenderHtmlAsPdf(invoiceHtml);
                invoicePdf.SaveAs("Invoice.pdf");
                break;
            default:
                string defaultHtml = "<h1>Document</h1><p>This is a default PDF document.</p>";
                PdfDocument defaultPdf = renderer.RenderHtmlAsPdf(defaultHtml);
                defaultPdf.SaveAs("Default.pdf");
                break;
        }
    }
}
using IronPdf;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("What do you want to create?");
        Console.WriteLine("a. Report");
        Console.WriteLine("b. Invoice");
        var input = Console.ReadLine();
        string docType;

        if (input == "a")
        {
            GeneratePdf("Report");
        }
        else if (input == "b")
        {
            GeneratePdf("Invoice");
        }
        else
        {
            GeneratePdf(null);
        }
    }

    public static void GeneratePdf(string docType)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        switch (docType)
        {
            case "Report":
                string reportHtml = "<h1>Report</h1><p>This is a dynamically generated report.</p>";
                PdfDocument reportPdf = renderer.RenderHtmlAsPdf(reportHtml);
                reportPdf.SaveAs("Report.pdf");
                break;
            case "Invoice":
                string invoiceHtml = "<h1>Invoice</h1><p>This is a dynamically generated invoice.</p>";
                PdfDocument invoicePdf = renderer.RenderHtmlAsPdf(invoiceHtml);
                invoicePdf.SaveAs("Invoice.pdf");
                break;
            default:
                string defaultHtml = "<h1>Document</h1><p>This is a default PDF document.</p>";
                PdfDocument defaultPdf = renderer.RenderHtmlAsPdf(defaultHtml);
                defaultPdf.SaveAs("Default.pdf");
                break;
        }
    }
}
$vbLabelText   $csharpLabel

C# Select Case (How It Works For Developers):圖 2

在這個範例中,切換語句控制要產生的文件類型。 如果 docType 為"報告",則會建立報告 PDF。 如果是"發票",則會產生發票。 如果找不到匹配的內容,則會建立預設的 PDF。

為什麼要為您的 .NET 專案選擇 IronPDF?

IronPdf 之所以能夠脫穎而出,是因為它能夠直接將 HTML、CSS、JavaScript 甚至是動態 C# 內容呈現在 PDF 中。 透過與 C# 的切換語句整合,您可以簡化文件產生的流程,使其更有效率且可維護。

IronPdf 的一些主要優點包括

  • 簡易整合:只需最少的設定,即可輕鬆地將 HTML圖片 等轉換為 PDF。
  • 完整的功能集: IronPDF 支持页眉、页脚、水印等功能。
  • 跨平台支援:可在 .NET Core、.NET Framework 和 Azure 環境中運作。

若要進一步瞭解 IronPdf 所提供的強大功能,請務必查看其便利的 how-to 可用性,您可以在承諾之前無風險地探索其所有功能。

結論

透過利用 switch case C# 語句和 IronPDF,您可以以最少的工作量建立動態、可自訂的 PDF 文件。 無論您需要產生報告、發票或其他類型的文件,這個組合都能提供彈性與效率。 如果您只處理一或兩個潛在結果,使用 if 語句等語句效果會很好,但在處理多個結果時,switch 語句可以大幅提高程式碼的清晰度。

使用切換區塊來輸出不同的 PDF 類型,是利用 IronPDF 達到全新境界的好方法。 IronPDF 擁有大量豐富的功能、優異的效能以及跨平台相容性,是您唾手可得的強大 PDF 產生工具。 不要只相信我們的說法-立即下載 免費試用版,親身體驗它如何簡化您的 PDF 工作流程!

常見問題解答

如何在 C# 中使用 switch 語句產生不同的 PDF 格式?

在 C# 中,您可以使用 switch 語句來決定使用 PDF 函式庫將哪個 HTML 範本渲染成 PDF。這樣,您可以根據使用者輸入或應用程式狀態動態產生不同類型的文檔,例如報告或發票。

使用 switch 語句產生 PDF 有什麼好處?

使用 switch 語句可以有效率地處理基於單一變數的多種結果,從而提高程式碼的可讀性和可維護性。這在 .NET 應用程式中產生各種 PDF 格式(例如報告和發票)時尤其有用。

如何在.NET中安裝用於文檔產生的PDF庫?

若要在 .NET 專案中安裝 PDF 程式庫,可以使用 NuGet 套件管理器控制台或 Visual Studio 中的 NuGet 解決方案套件管理器。這樣可以輕鬆地將 PDF 生成功能整合到應用程式中。

我可以在跨平台的 .NET 環境中使用 PDF 程式庫嗎?

是的,許多 PDF 程式庫都設計為可在跨平台環境中運行,並支援 .NET Core、.NET Framework 和 Azure,從而能夠在各種平台上產生 PDF。

用於 C# 開發的 PDF 庫有哪些共同特徵?

用於 C# 的 PDF 庫通常提供諸如 HTML 轉 PDF、新增圖像、頁首、頁尾、浮水印等功能。這些工具為在 .NET 應用程式中產生和操作 PDF 提供了全面的解決方案。

為什麼 .NET 開發人員應該使用功能強大的 PDF 程式庫?

對於 .NET 開發人員來說,一個強大的 PDF 程式庫至關重要,因為它提供了產生和操作 PDF 的可靠功能。它支援將 HTML、CSS、JavaScript 和動態 C# 內容轉換為 PDF,具有簡單易用、效能卓越和跨平台等優點。

在使用 switch 語句產生 PDF 檔案時,如何排查問題?

使用 switch 語句排查 PDF 產生問題時,請確保 switch 語句中使用的資料類型與預期輸入相符。此外,還要驗證是否已選擇正確的 HTML 模板,並使用相應的 PDF 庫方法將其渲染成 PDF 文件。

在條件邏輯中,switch語句和if-else語句有什麼不同?

與 if-else 語句相比,switch 語句提供了一種結構化、組織化的方式來處理多個條件分支。它們提高了程式碼的可讀性,尤其適用於處理基於單一變數的多個結果的情況,例如 PDF 生成場景。

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 技術的創新,同時指導下一代技術領導者。