.NET-HILFE

C# Select Case (Wie es für Entwickler funktioniert)

In modernen .NET-Anwendungen ist das dynamische Generieren von PDFs eine häufige Anforderung. Egal, ob Sie Berichte, Rechnungen oder andere Dokumente erstellen, eine effiziente Möglichkeit zur bedingten Erstellung verschiedener PDF-Formate ist unerlässlich. Die switch-Anweisung (auch bekannt als Select Case in einigen Sprachen) in C# ist ein leistungsstarkes Werkzeug, um solche Logiken effizient zu implementieren. Die switch case-Anweisung nimmt eine Form von Datentyp (char, int, string usw.) und vergleicht sie mit den case-Werten, um zu prüfen, ob eine Übereinstimmung vorliegt. Falls sie es tun, wird der Code innerhalb dieses Case-Blocks ausgeführt, andernfalls wird der Default-Case ausgeführt, wenn die anderen Case-Muster nicht übereinstimmen.

IronPDF ist eine robuste PDF-Generierungs- und Manipulationsbibliothek für .NET-Entwickler, die es Ihnen ermöglicht, HTML, Bilder und verschiedene andere Inhalte in PDFs zu konvertieren. Indem Sie die Switch-Anweisung von C# nutzen, können Sie Ihre PDFs basierend auf verschiedenen Bedingungen wie Benutzereingaben oder dem Datenzustand anpassen.

Dieser Artikel führt Sie durch die Verwendung der C# Switch-Case-Anweisung mit IronPDF, um dynamische, bedingte PDF-Inhalte mit einem guten Maß an Kontrollfluss innerhalb des Programms zu erstellen, was letztendlich die Effizienz und Lesbarkeit Ihrer Programme erhöhen wird.

Was ist Select Case (Switch) in C#?

Übersicht über C# Select Case

In C# bietet die switch-Anweisung (nicht zu verwechseln mit dem switch-Ausdruck) eine saubere und strukturierte Möglichkeit, bedingte Logik basierend auf dem Wert einer Variablen zu handhaben. Anstelle mehrerer Anweisungen, wie z. B. if-else-Anweisungen, ermöglichen switch-case-Anweisungen einen leichter lesbaren und wartungsfreundlicheren Code. Die switch-Anweisung sucht nach einem Mustervergleich für den an die Anweisung übergebenen Ausdruck und führt den Code im Standardfall aus, wenn kein Treffer gefunden wird.

Hier ist die grundlegende Struktur einer Switch-Anweisung in C#:

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
$vbLabelText   $csharpLabel

Jeder Fall stellt einen möglichen Wert für die Variable dar, und wenn eine Übereinstimmung gefunden wird, wird der Code innerhalb dieses Blocks ausgeführt. Dies ist besonders nützlich, wenn Sie mehrere Ergebnisse basierend auf einer einzelnen Variablen haben, wie zum Beispiel die Bestimmung, welche Art von Dokument in einem PDF zu generieren ist.

Integration von Select Case mit IronPDF zur dynamischen PDF-Erstellung

Verwendung von Select Case zur Anpassung von PDF-Inhalten

Stellen Sie sich vor, Sie entwickeln ein System, bei dem je nach Benutzereingabe unterschiedliche Arten von Dokumenten erstellt werden müssen. Zum Beispiel könnten Sie für einen Benutzer einen Bericht und für einen anderen eine Rechnung erstellen müssen. Mit der Switch-Anweisung von C# können Sie einfach bestimmen, welchen PDF-Typ Sie mit IronPDF generieren möchten.

Hier ist ein Beispielszenario: Basierend auf der Auswahl eines Benutzers können Sie eine switch-Anweisung verwenden, um zu entscheiden, welchen HTML-Inhalt in ein PDF-Dokument umgewandelt werden soll, indem Sie die Wahl des Benutzers mit dem entsprechenden Fallwert abgleichen.

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
$vbLabelText   $csharpLabel

In diesem Beispiel kann das System verschiedene Arten von Dokumenten generieren, indem es die leistungsstarken PDF-Darstellungsfähigkeiten von IronPDF wiederverwendet und die Entscheidungsfindung durch die Verwendung der Switch-Anweisung vereinfacht.

Schritt-für-Schritt-Umsetzung

Lassen Sie uns durchgehen, wie man C#'s switch mit IronPDF zur Generierung von PDFs integriert. In diesem Beispiel bearbeiten wir zwei Arten von Dokumenten: Berichte und Rechnungen.

  1. IronPDF installieren: Zuerst müssen Sie IronPDF installieren, um es in Ihren Projekten verwenden zu können.

    1. Einrichten von HTML-Inhalten für verschiedene Dokumenttypen:

    Erstellen Sie HTML-Vorlagen für Ihren Bericht und Ihre Rechnung. Dadurch kann IronPDF diese Vorlagen in ein PDF rendern.

    1. Verwenden Sie die switch-Anweisung für dynamische Auswahl:

    Basierend auf Benutzereingaben (oder einer anderen Variablen) verwenden Sie die Switch-Anweisung, um zu bestimmen, welche HTML-Vorlage verwendet werden soll, und übergeben Sie diese an IronPDF für die PDF-Erstellung.

Installation von IronPDF

Um mit der Verwendung von IronPDF zu beginnen, müssen Sie es zuerst installieren. Wenn es bereits installiert ist, können Sie zum nächsten Abschnitt übergehen, andernfalls decken die folgenden Schritte ab, wie die IronPDF-Bibliothek installiert wird.

Über die NuGet-Paket-Manager-Konsole

Um IronPDF zu installieren, öffnen Sie Visual Studio und navigieren Sie zur Paket-Manager-Konsole, um den NuGet-Paket-Manager zu verwenden. Führen Sie dann den folgenden Befehl aus:

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText   $csharpLabel

Über den NuGet-Paket-Manager für Lösung

Öffnen Sie Visual Studio, gehen Sie zu "Tools -> NuGet-Paket-Manager -> NuGet-Pakete für die Lösung verwalten" und suchen Sie nach IronPDF. Von hier aus müssen Sie nur Ihr Projekt auswählen und auf „Installieren“ klicken, dann wird IronPDF zu Ihrem Projekt hinzugefügt.

C# Select Case (Wie es für Entwickler funktioniert): Abbildung 1

Sobald Sie IronPDF installiert haben, müssen Sie nur noch die korrekte Using-Anweisung am Anfang Ihres Codes hinzufügen, um IronPDF verwenden zu können:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Beispiel: Erstellen von PDFs mit unterschiedlichen Stilen mit IronPDF

Fallstudie: Berichtserstellung vs. Rechnungen

Werfen wir einen genaueren Blick auf einen Anwendungsfall aus der Praxis. Angenommen, Sie entwickeln ein System für ein Unternehmen, das sowohl Berichte als auch Rechnungen für seine Kunden erstellen muss. Je nach Auswahl des Benutzers können Sie verschiedene Inhalte in ein PDF konvertieren.

  1. Berichterstellung:

    Wenn der Benutzer "Bericht" auswählt, erstellt das System eine PDF-Datei mit berichtsspezifischem Inhalt. Mit HTML-Vorlagen können Sie die Inhaltsstruktur leicht anpassen.

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
$vbLabelText   $csharpLabel
  1. Rechnungserstellung:

    Für Rechnungen können Sie innerhalb des HTML Rechnungsinformationen und detaillierte Listen einfügen, die IronPDF in ein hochwertiges PDF umwandeln wird.

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
$vbLabelText   $csharpLabel

Dieser Ansatz stellt sicher, dass Sie Flexibilität und Wiederverwendbarkeit in Ihrem Code beibehalten, da Sie die Switch-Anweisung problemlos erweitern können, um zusätzliche Dokumenttypen zu verarbeiten.

Codebeispiel: Erstellen von Berichten und Rechnungen mit IronPDF und Switch-Anweisungen

Im folgenden Codebeispiel verwenden wir Benutzereingaben, um an die Switch-Anweisung weiterzugeben, welche PDF-Datei generiert werden soll.

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
$vbLabelText   $csharpLabel

C# Select Case (Wie es für Entwickler funktioniert): Abbildung 2

In diesem Beispiel steuert die switch-Anweisung, welcher Dokumenttyp erstellt wird. Wenn der docType "Report" ist, wird ein Bericht-PDF erstellt. Wenn es "Invoice" ist, wird eine Rechnung erstellt. Wenn keine Übereinstimmung gefunden wird, wird stattdessen ein Standard-PDF erstellt.

Warum sollten Sie IronPDF für Ihre .NET-Projekte wählen?

IronPDF zeichnet sich durch seine Fähigkeit aus, HTML-, CSS-, JavaScript- und sogar dynamische C#-Inhalte direkt in PDFs zu rendern. Durch die Integration mit C#’s Switch-Anweisung können Sie Ihren Dokumentenerstellungsprozess optimieren, sodass er effizienter und wartungsfreundlicher wird.

Einige der Hauptvorteile von IronPDF umfassen:

  • Einfache Integration: Konvertieren Sie mühelos HTML, Bilder und mehr in PDFs mit minimaler Konfiguration.
  • Vollständige Funktionspalette: IronPDF unterstützt Funktionen wie Kopfzeilen, Fußzeilen, Wasserzeichen und mehr.
  • Plattformübergreifende Unterstützung: Funktioniert in .NET Core, .NET Framework und Azure-Umgebungen.

    Um mehr über das umfangreiche Angebot an Funktionen von IronPDF zu erfahren, schauen Sie sich unbedingt die praktische Anleitung an. Sie können alle Funktionen risikofrei erkunden, bevor Sie sich verpflichten.

Schlussfolgerung

Durch die Nutzung der switch case C# Anweisung und IronPDF können Sie dynamische, anpassbare PDF-Dokumente mit minimalem Aufwand erstellen. Ob Sie Berichte, Rechnungen oder andere Arten von Dokumenten erstellen müssen, diese Kombination bietet Flexibilität und Effizienz. Aussagen wie eine if-Anweisung funktionieren hervorragend, wenn Sie nur ein oder zwei potenzielle Ergebnisse verarbeiten, aber switch-Anweisungen können die Klarheit Ihres Codes erheblich verbessern, wenn Sie mit mehreren Ergebnissen arbeiten.

Die Verwendung des Switch-Blocks zur Ausgabe verschiedener PDF-Typen ist eine großartige Möglichkeit, IronPDF auf ein völlig neues Niveau zu heben. Mit einem großen Satz an umfassenden Funktionen, großartiger Leistung und plattformübergreifender Kompatibilität ist IronPDF ein leistungsstarkes Tool zur PDF-Erstellung, das Sie stets griffbereit haben sollten. Glauben Sie uns nicht nur beim Wort – laden Sie noch heute die kostenlose Testversion herunter und überzeugen Sie sich selbst, wie es Ihre PDF-Workflows optimieren kann!

Chipego
Software-Ingenieur
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS
C# Float (Wie es für Entwickler funktioniert)
NÄCHSTES >
C# Cancellationtoken (Wie es für Entwickler funktioniert)