
C# Switch-Anweisung (Wie es für Entwickler funktioniert)
In der weiten Landschaft der Programmiersprachen ist es von größter Bedeutung, die Lesbarkeit und Effizienz des Codes zu verbessern, und die C#-Sprache steht als eine Säule da, da sie diverse Konstrukte bietet, um Ihre Programmieranforderungen zu unterstützen. Unter ihrem Arsenal an leistungsstarken Werkzeugen ragt die "C# Switch Anweisung" besonders hervor. Dieser umfassende Leitfaden wird die nuancierten Feinheiten innerhalb der C#-Sprache untersuchen. Wir werden in ihre vielseitigen Verwendungen eintauchen und ihre praktische Anwendung durch ein reales Szenario mit IronPDF beleuchten, einer vielseitigen C#-Bibliothek zur PDF-Erstellung. Dieses Vorhaben zielt nicht nur darauf ab, ihre Mechanismen zu entschlüsseln, sondern auch auf ihre Bedeutung im breiteren Bereich der C#-Entwicklung hinzuweisen.
1. Verstehen der Switch-Anweisung
Die Switch-Anweisung in C# ist eine Steuerungsflussanweisung, die es Entwicklern erlaubt, saubereren und prägnanteren Code zu schreiben, wenn es um mehrere Bedingungen geht. Sie ist besonders nützlich, wenn Sie unterschiedliche Aktionen basierend auf dem Wert einer bestimmten Variablen durchführen möchten.
Dies macht sie zu einer perfekten Alternative zu if-else-Anweisungen, wenn das Keyword/die Variable im Mittelpunkt steht, da sie die Lesbarkeit und Wartbarkeit des Codes verbessert. Im Gegensatz zu einer if-else-Anweisung, die zu verschachtelten Strukturen und potenzieller Code-Komplexität führen kann, bietet die Switch-Anweisung eine besser organisierte Alternative. Sie ist besonders vorteilhaft, wenn man mit einer Variablen arbeitet, die unterschiedliche Aktionen basierend auf ihrem Wert auslösen muss.
Lassen Sie uns nun einen genaueren Blick auf die Rolle des Breaks im Kontext einer Switch-Anweisung werfen. In C# wird die break-Anweisung verwendet, um die Ausführung eines mit einem bestimmten Fall verknüpften Codeblocks innerhalb des Switch-Blocks zu beenden. Wenn ein Übereinstimmungsfall oder Switch-Fall übereinstimmt und der entsprechende Codeblock dieses Falls ausgeführt wird, ist die break-Anweisung entscheidend, um zu verhindern, dass die nachfolgenden Fälle ausgewertet werden. Wenn Sie ein Durchfallverhalten in Ihre Anweisung integrieren möchten, sollten Sie die goto-Anweisung anstelle von break verwenden.
Hier ist eine grundlegende Struktur einer Switch-Anweisung in C#:
switch (variable)
{
case value1:
// Code to be executed if variable equals value1
break;
case value2:
// Code to be executed if variable equals value2
break;
// More cases can be added as needed
default:
// Default Case to be executed if none of the cases match
break;
}Select Case variable
Case value1
' Code to be executed if variable equals value1
Case value2
' Code to be executed if variable equals value2
' More cases can be added as needed
Case Else
' Default Case to be executed if none of the cases match
End SelectLassen Sie uns nun die verschiedenen Arten von Switch-Anweisungen und ihre Anwendungsfälle erkunden.
2. Arten von Switch-Anweisungen und ihre Verwendungen
2.1. Einfache Switch-Anweisung
Dies ist die grundlegendste Form einer Switch-Anweisung. Sie vergleicht die Variable mit konstanten Werten und führt den Codeblock aus, der mit dem ersten übereinstimmenden Wert oder Fall verknüpft ist. Wenn keine Übereinstimmung gefunden wird, wird der Standard-Codeblock ausgeführt.
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
// More cases...
default:
Console.WriteLine("Invalid day");
break;
}Dim day As Integer = 3
Select Case day
Case 1
Console.WriteLine("Monday")
Case 2
Console.WriteLine("Tuesday")
' More cases...
Case Else
Console.WriteLine("Invalid day")
End Select2.2. Switch-Anweisung mit Mustern (C# 7.0 und später)
C# 7.0 führte die Fallmuster-Erkennung ein, die eine ausdrucksstärkere und flexiblere Switch-Anweisung erlaubte. Ein Musterausdruck kann Typenmuster, Eigenschaftsmuster und mehr enthalten, was den Code noch lesbarer macht.
object obj = "Hello";
switch (obj)
{
case string s:
Console.WriteLine($"String of length {s.Length}");
break;
case int i:
Console.WriteLine($"Integer: {i}");
break;
// More cases...
default:
Console.WriteLine("Other type");
break;
}Dim obj As Object = "Hello"
Select Case obj
'INSTANT VB TODO TASK: The following 'case' pattern variable is not converted by Instant VB:
'ORIGINAL LINE: case string s:
Case String s
Console.WriteLine($"String of length {s.Length}")
'INSTANT VB TODO TASK: The following 'case' pattern variable is not converted by Instant VB:
'ORIGINAL LINE: case int i:
Case Integer i
Console.WriteLine($"Integer: {i}")
' More cases...
Case Else
Console.WriteLine("Other type")
End Select2.3. Switch-Ausdruck (C# 8.0 und später)
In C# 8.0 wurde ein neuer und prägnanterer Form von Switch-Anweisung als Switch-Ausdrücke eingeführt. Sie können an Orten verwendet werden, an denen ein konstanter Ausdruck eines Wertes benötigt wird, und machen den Code kürzer und eleganter.
int day = 2;
string result = day switch
{
1 => "Monday",
2 => "Tuesday",
// More cases...
_ => "Invalid day"
};
Console.WriteLine(result);Dim day As Integer = 2
Dim tempVar As String
Select Case day
Case 1
tempVar = "Monday"
Case 2
tempVar = "Tuesday"
' More cases...
Case Else
tempVar = "Invalid day"
End Select
Dim result As String = tempVar
Console.WriteLine(result)Da wir nun ein solides Verständnis der Switch-Anweisungen haben, sehen wir, wie sie in einem realen Szenario mit IronPDF in C# angewendet werden können.
3. Introducing IronPDF in C#
IronPDF ist eine beliebte C#-Bibliothek, die Entwicklern ermöglicht, PDFs einfach zu erzeugen und zu manipulieren. Sie vereinfacht Aufgaben im Zusammenhang mit der Erstellung, Bearbeitung und Darstellung von PDF-Dateien. Lassen Sie uns erkunden, wie die Switch-Anweisung mit IronPDF eingesetzt werden kann, um die Funktionalität und Organisation Ihres Codes zu verbessern.
3.1. Verwendung der Switch-Anweisung mit IronPDF
Angenommen, Sie arbeiten an einem Dokumentenverwaltungssystem, bei dem Sie unterschiedliche Arten von PDFs basierend auf dem Anwendungsfall eines Dokumenteninhalts erstellen müssen. Hier erfahren Sie, wie Sie die Switch-Anweisung mit IronPDF nutzen können:
using IronPdf;
using System;
class GeneratePDF
{
public static void Main(String[] args)
{
var renderer = new ChromePdfRenderer();
string userInput;
Console.WriteLine("Enter your input:");
Console.WriteLine("Enter 'I' for Invoice");
Console.WriteLine("Enter 'R' for Report");
userInput = Console.ReadLine();
switch (userInput)
{
case "R":
// Render and save a PDF for a report
var reportPdf = renderer.RenderHtmlFileAsPdf("report.html");
reportPdf.SaveAs("Report.pdf");
break;
case "I":
// Render and save a PDF for an invoice
var invoicePdf = renderer.RenderHtmlFileAsPdf("invoice.html");
invoicePdf.SaveAs("Invoice.pdf");
break;
default:
Console.WriteLine("Invalid input");
break;
}
}
}Imports IronPdf
Imports System
Class GeneratePDF
Public Shared Sub Main(ByVal args As String())
Dim renderer = New ChromePdfRenderer()
Dim userInput As String
Console.WriteLine("Enter your input:")
Console.WriteLine("Enter 'I' for Invoice")
Console.WriteLine("Enter 'R' for Report")
userInput = Console.ReadLine()
Select Case userInput
Case "R"
' Render and save a PDF for a report
Dim reportPdf = renderer.RenderHtmlFileAsPdf("report.html")
reportPdf.SaveAs("Report.pdf")
Case "I"
' Render and save a PDF for an invoice
Dim invoicePdf = renderer.RenderHtmlFileAsPdf("invoice.html")
invoicePdf.SaveAs("Invoice.pdf")
Case Else
Console.WriteLine("Invalid input")
End Select
End Sub
End ClassDieses C#-Programm verwendet die IronPDF-Bibliothek, um dynamisch PDF-Dateien basierend auf Benutzereingaben zu erstellen. Der Benutzer wird aufgefordert, entweder 'I' für Rechnung oder 'R' für Bericht einzugeben. Abhängig von der Eingabe verwendet das Programm die ChromePdfRenderer-Klasse, um die entsprechende HTML-Datei ("report.html" für Bericht oder "invoice.html" für Rechnung) in ein PDF-Format zu rendern. Das generierte PDF wird dann mit den entsprechenden Dateinamen gespeichert, "Report.pdf" für den Bericht und "Invoice.pdf" für die Rechnung. Dieser Ansatz bietet eine flexible und interaktive Möglichkeit, spezielle Arten von PDF-Dokumenten über eine Konsolenschnittstelle zu erstellen.
3.2. Beispiel für einen Bericht
Im folgenden Beispiel erstellen wir einen Bericht anhand der Benutzereingabe.
Konsoleneingabe:

Ausgabe-PDF:

3.3. Beispiel einer Rechnung
In diesem Fallbeispiel erstellen wir eine Rechnung anhand der Benutzereingabe und einer Switch-Anweisung.
Konsoleneingabe:

Ausgabe-PDF:

4. Fazit
Abschließend sticht die C#-Switch-Anweisung als robustes Steuerungsflusswerkzeug hervor, das Entwicklern einen organisierteren und prägnanteren Ansatz für den Umgang mit mehreren Bedingungen gegenüber traditionellen if-else-Anweisungen bietet. Durch das Unterteilen der Code-Ausführung basierend auf Variablenwerten können Switch-Anweisungen durch verbesserte Lesbarkeit und Wartbarkeit zu Ihrem Code beitragen.
Die Vielseitigkeit der Switch-Anweisungen zeigt sich durch verschiedene Typen, einschließlich einfacher Switches, auf Mustern basierender Switch-Blöcke und Switch-Ausdrücken, die jeweils spezifische Kodierungsszenarien abdecken.
Die Integration der IronPDF-Bibliothek verdeutlicht die praktische Anwendung von Switch-Anweisungen bei der Erstellung dynamischer PDF-Dokumente basierend auf Benutzereingaben und zeigt, wie diese Funktion in realen Szenarien genutzt werden kann, um die Flexibilität und Effizienz Ihrer C#-Programmierung zu verbessern.
Um die Fähigkeiten von IronPDF zu erkunden und mehr über die HTML-zu-PDF-Umwandlung zu erfahren, besuchen Sie die IronPDF Tutorials.

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.
Verwandte Artikel


