.NET 幫助

C# Select Case(開發者如何使用)

發佈 2024年12月15日
分享:

在現代的 .NET 應用程式中,動態生成 PDF 是一個常見的需求。 無論您是在創建報告、發票或其他文件,有一種簡化的方法來有條件地生成不同的 PDF 格式都是至關重要的。 這switch 語句 (在某些語言中也稱為 Select Case)在 C# 中是一個用於高效實現此類邏輯的強大工具。 switch語句將採用某種數據類型(字元、整數、字串等。),並將其與案例值進行比較以查看是否有任何匹配。 如果匹配,則該 case 區塊內的代碼將執行,否則如果其他 case 模式不匹配,則執行預設的 case。

IronPDF是為 .NET 開發人員提供的一個強大的 PDF 生成和操作庫,使您能夠將 HTML、圖像和各種其他內容轉換為 PDF。 通過利用 C# 的 switch 陳述式,您可以根據不同的條件(例如用戶輸入或數據狀態)來自訂您的 PDF。

本文將指導您如何使用 C# Switch case 語句與 IronPDF 結合,以在程式中創建具動態條件的 PDF 內容,從而有效提升程式的效率和可讀性。

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

C# Select Case 概述

在 C# 中,switch 語句(不要與 switch 表達式混淆。)提供了一種基於變數值來處理條件邏輯的清晰且結構化的方法。 與其使用多個語句,例如 if-else 語句,switch case 語句允許更易讀和更易維護的代碼。 switch 陳述式會尋找與傳入的 match 表達式相符的模式,如果找不到相符項,則執行 default 個案中的程式碼。

以下是 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;
}
Select Case variable
	Case value1
		' action for value1
	Case value2
		' action for value2
	Case Else
		' default action if no case matches
End Select
VB   C#

每個情況代表該變數的一個可能值,當找到匹配時,將執行該塊中的代碼。 這在基於單一變數有多個結果的情況下特別有用,例如決定要在 PDF 中生成哪種類型的文件。

將 Select Case 整合到 IronPDF 以動態生成 PDF

使用 Select Case 進行 PDF 內容自定義

想像一下,您正在開發一個系統,需要根據用戶輸入生成不同類型的文件。 例如,您可能需要為一位用戶創建報告,並為另一位用戶創建發票。 使用 C# 的 switch 陳述式,您可以輕鬆決定使用 IronPDF 生成哪種類型的 PDF。

以下是一個範例場景:根據使用者的選擇,您可以使用 switch 語句來決定將哪個 HTML 內容渲染成 PDF 文件,通過將使用者的選擇與相同類型的案例值匹配。

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;
}
Select Case userChoice
	Case "report"
		' Code to generate a report PDF using IronPDF
	Case "invoice"
		' Code to generate an invoice PDF using IronPDF
	Case Else
		' Code to generate a default PDF document using IronPDF
End Select
VB   C#

在此範例中,該系統可以透過重用 IronPDF 強大的 PDF 呈現功能來生成多種類型的文檔,同時使用 switch 語句簡化決策過程。

逐步實現

讓我們來介紹如何結合 C# 的 switch 與 IronPDF 來生成 PDF。 在此範例中,我們將處理兩種類型的文件:報告發票

  1. 安裝 IronPDF: 首先,您需要安裝 IronPDF 以開始在您的項目中使用它。

    1. 為不同文檔類型設置HTML內容:

    為您的報告和發票創建 HTML 範本。這使得 IronPDF 可以將這些範本渲染成 PDF。

    1. 使用 switch 語句进行動態選擇:

    根據使用者輸入(或任何其他變數)使用 switch 語句決定要使用哪個 HTML 模板,並將其傳遞給 IronPDF 以進行 PDF 渲染。

安裝 IronPDF

要開始使用IronPDF,您首先需要安裝它。 如果已經安裝,則可以跳到下一部分。否則,以下步驟將介紹如何安裝IronPDF庫。

透過 NuGet 套件管理器主控台

To安裝 IronPDF使用 NuGet 套件管理器主控台,開啟 Visual Studio 並導航至套件管理器主控台。 然後執行以下命令:

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

透過 NuGet 封裝管理器為方案進行操作

打開 Visual Studio,前往「工具 -> NuGet 套件管理員 -> 為方案管理 NuGet 套件」並搜尋 IronPDF。 從這裡開始,您只需選擇您的專案並點擊「安裝」,IronPDF 就會被添加到您的專案中。

C# Select Case(它如何為開發人員工作):圖 1

安裝 IronPDF 後,您只需在程式碼的頂部新增正確的 using 語句即可開始使用 IronPDF:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

範例:使用 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;
Case "Report"
		Dim reportHtml As String = "<h1>Monthly Report</h1><p>This report provides a detailed overview of activities.</p>"
		Dim reportPdf As PdfDocument = pdfRenderer.RenderHtmlAsPdf(reportHtml)
		reportPdf.SaveAs("Monthly_Report.pdf")
		break
VB   C#
  1. 發票生成:

    對於發票,您可以在 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;
Case "Invoice"
		Dim invoiceHtml As String = "<h1>Invoice #12345</h1><p>Billing details and itemized list here.</p>"
		Dim invoicePdf As PdfDocument = pdfRenderer.RenderHtmlAsPdf(invoiceHtml)
		invoicePdf.SaveAs("Invoice_12345.pdf")
		break
VB   C#

此方法確保您在代碼庫中保持靈活性和可重用性,因為您可以輕鬆擴展 switch 語句以處理其他文檔類型。

程式碼範例:使用 IronPDF 和 switch 語句建立報告和發票

在以下程式碼範例中,我們將接受使用者輸入並傳遞給 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;
        }
    }
}
Imports IronPdf
Imports System
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Console.WriteLine("What do you want to create?")
		Console.WriteLine("a. Report")
		Console.WriteLine("b. Invoice")
		Dim input = Console.ReadLine()
		Dim docType As String
		If input = "a" Then
			GeneratePdf("Report")
		ElseIf input = "b" Then
			GeneratePdf("Invoice")
		Else
			GeneratePdf(Nothing)
		End If
	End Sub
	Public Shared Sub GeneratePdf(ByVal docType As String)
		Dim renderer As New ChromePdfRenderer()
		Select Case docType
			Case "Report"
				Dim reportHtml As String = "<h1>Report</h1><p>This is a dynamically generated report.</p>"
				Dim reportPdf As PdfDocument = renderer.RenderHtmlAsPdf(reportHtml)
				reportPdf.SaveAs("Report.pdf")
			Case "Invoice"
				Dim invoiceHtml As String = "<h1>Invoice</h1><p>This is a dynamically generated invoice.</p>"
				Dim invoicePdf As PdfDocument = renderer.RenderHtmlAsPdf(invoiceHtml)
				invoicePdf.SaveAs("Invoice.pdf")
			Case Else
				Dim defaultHtml As String = "<h1>Document</h1><p>This is a default PDF document.</p>"
				Dim defaultPdf As PdfDocument = renderer.RenderHtmlAsPdf(defaultHtml)
				defaultPdf.SaveAs("Default.pdf")
		End Select
	End Sub
End Class
VB   C#

C# Select Case(開發者如何使用):圖2

在此範例中,switch 語句控制生成哪種文件類型。 如果 docType 是「Report」,將會建立報告 PDF。 如果是「發票」,將會生成發票。 如果未找到匹配項,則會創建一個預設的PDF。

為什麼選擇 IronPDF 用於您的 .NET 項目?

IronPDF 的突出之處在於其能夠將 HTML、CSS、JavaScript 甚至動態 C# 內容直接渲染成 PDF。 通過將其與 C# 的 switch 語句集成,您可以簡化文件生成過程,使其更高效且更易於維護。

IronPDF 的一些主要優點包括:

  • 簡單整合: 輕鬆轉換HTML, 图像,以及更多內容轉換成 PDF,並且只需進行最低限度的配置。
  • 完整功能集: IronPDF 支援標題、頁尾、水印等功能。
  • 跨平台支持: 支援.NET Core、.NET Framework及Azure環境。

    要了解 IronPDF 提供的強大功能集,請務必查看其方便的操作指南可用時,您可以在承諾之前免風險探索其所有功能。

結論

透過利用 C# 的 switch case 語句和IronPDF,您可以輕鬆創建動態、可自定義的 PDF 文件。 無論您需要生成報告、發票或其他類型的文件,此組合都提供了靈活性和效率。 如果您只需處理一個或兩個潛在結果,使用像 if 語句這樣的語句效果很好,但在處理多個結果時,switch 語句可以大大提高程式碼的清晰度。

使用 switch 區塊輸出不同類型的 PDF 是將 IronPDF 提升到新層次的絕佳方法。 IronPDF具有豐富的功能集合、卓越的性能和跨平台兼容性,是一個強大的 PDF 生成工具,隨時可供使用。 不要只聽我們的話——下載免費試用今天就親自體驗一下它如何能精簡你的 PDF 工作流程。!

< 上一頁
C# 浮點數(它的運作方式對於開發者)
下一個 >
C# CancellationToken(開發人員如何使用)