
Déclaration de cas C# (Comment ça fonctionne pour les développeurs)
La déclaration switch en C# offre une alternative plus simplifiée et lisible aux multiples blocs if-else. C'est bénéfique lorsque vous avez une variable qui peut prendre une des plusieurs valeurs distinctes, et vous devez exécuter un code différent basé sur la valeur. La déclaration switch évalue une expression et exécute un code basé sur la valeur correspondante, en faisant une partie intégrante de la prise de décision dans votre code.
Bien que les structures if-else soient utiles pour des conditions simples ou des vérifications, les déclarations case switch excellent lorsqu'il s'agit de vérifications de conditions plus complexes, en particulier celles basées sur une seule variable ou une expression de correspondance de modèle. Elles fournissent une syntaxe plus propre et plus compréhensible par rapport aux déclarations if, ce qui est essentiel tant pour l'écriture que pour la maintenance du code.
Les bases de la déclaration Switch
Qu'est-ce qu'une déclaration Switch ?
Une déclaration switch en C# est une structure de contrôle utilisée pour sélectionner un des nombreux chemins de code à exécuter. La sélection est basée sur la valeur ou une expression. C'est une alternative efficace à l'utilisation de multiples conditions if-else, en particulier lorsque vous traitez avec une variable qui peut avoir plusieurs valeurs distinctes.
Syntaxe
La syntaxe de base d'une déclaration switch est simple:
// Switch statement
switch (variable)
{
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
// More cases as needed
default:
// Code to execute if variable doesn't match any case
break;
}' Switch statement
Select Case variable
Case value1
' Code to execute if variable equals value1
Case value2
' Code to execute if variable equals value2
' More cases as needed
Case Else
' Code to execute if variable doesn't match any case
End Selectswitch (variable): Cela spécifie la variable ou l'expression à évaluer.case value1: Ce sont les différentes valeurs ou conditions que vous vérifiez par rapport à la variable.break: Ce mot-clé est utilisé pour sortir du bloc switch une fois qu'un cas correspondant est exécuté.defaultstatement : Ce bloc s'exécute si aucun des cas spécifiés ne correspond à la variable.
Comprendre l'instruction Break
L'instruction break dans le switch est cruciale. Elle empêche le comportement de "fall through", où l'exécution passe au case suivant même si la condition correspondante est déjà respectée. Chaque bloc case se termine généralement par une instruction break pour garantir que seul le code sous le case correspondant est exécuté.
Comparer la déclaration Switch et les déclarations If-Else
Alors que la structure de la déclaration if-else implique de vérifier une condition et d'exécuter un bloc de code si la condition est vraie, les déclarations switch comparent une seule variable ou expression à plusieurs valeurs potentielles. Ceci rend la déclaration switch plus concise et plus facile à lire lorsque vous avez beaucoup de conditions ou de modèles à vérifier.
Exemple : Utiliser une déclaration Switch
int number = 3;
switch (number)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
case 3:
Console.WriteLine("Three");
break;
default:
Console.WriteLine("Other Number"); // Print to console
break;
}Dim number As Integer = 3
Select Case number
Case 1
Console.WriteLine("One")
Case 2
Console.WriteLine("Two")
Case 3
Console.WriteLine("Three")
Case Else
Console.WriteLine("Other Number") ' Print to console
End SelectDans cet exemple, le programme imprimera "Trois" en sortie puisque le nombre correspond au case 3.
Le rôle du case Default
Comprendre le Default dans un bloc Switch
Dans une déclaration switch, le case default joue un rôle crucial. Il sert d'option de secours qui est exécutée quand aucun des labels de case spécifiés ne correspond à la valeur de l'expression switch. Bien qu'il soit optionnel, inclure un case default est une bonne pratique pour gérer les valeurs inattendues ou inconnues.
Comment et quand utiliser l'instruction Default
Le case default est utilisé lorsque vous souhaitez exécuter un bloc de code si aucun des cas spécifiques ne correspond. Il garantit que la déclaration switch a toujours un comportement défini, quelle que soit l'entrée. Le cas par défaut est déclaré en utilisant le mot-clé default, suivi d'un deux-points.
default:
// Code to execute if no case matches
break;Case Else
' Code to execute if no case matches
breakLe case default peut être placé n'importe où dans le bloc switch, mais il est généralement placé à la fin pour la lisibilité.
Exemple : Déclaration Switch avec case Default
Considérons un scénario où vous évaluez un jour de la semaine :
int day = 5;
string dayName;
switch (day)
{
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "Invalid day";
break;
}
Console.WriteLine(dayName);Dim day As Integer = 5
Dim dayName As String
Select Case day
Case 1
dayName = "Monday"
Case 2
dayName = "Tuesday"
Case 3
dayName = "Wednesday"
Case 4
dayName = "Thursday"
Case 5
dayName = "Friday"
Case 6
dayName = "Saturday"
Case 7
dayName = "Sunday"
Case Else
dayName = "Invalid day"
End Select
Console.WriteLine(dayName)Dans cet exemple, si day a une valeur autre que 1 à 7, le cas par défaut est exécuté, définissant dayName à "Jour invalide".
Meilleures pratiques pour le case Default
- Toujours inclure une valeur par défaut : même si vous pensez avoir couvert tous les cas possibles, incluez une valeur par défaut pour gérer les valeurs imprévues.
- Actions significatives : Utilisez le cas par défaut pour effectuer des actions significatives, comme consigner une erreur, définir une valeur par défaut ou informer l'utilisateur d'une valeur inconnue.
Fonctionnalités avancées du Switch
Introduction to Switch Expressions in C#
Avec l'évolution de C#, les expressions switch ont été introduites comme une manière plus concise et expressive de gérer plusieurs branches conditionnelles. Contrairement aux déclarations switch traditionnelles, les expressions switch retournent une valeur et sont plus rationalisées, en faisant un outil puissant dans la programmation moderne C#.
Syntaxee des expressions Switch
La syntaxe d'une expression switch en C# est une forme plus compacte de la déclaration case switch. Voici une structure de base :
var result = variable switch
{
value1 => result1,
value2 => result2,
_ => defaultResult
};'INSTANT VB TODO TASK: The following 'switch expression' was not converted by Instant VB:
'var result = variable switch
'{
' value1 => result1,
' value2 => result2,
' _ => defaultResult
'};Le symbole underscore (_) représente le case default dans les expressions switch, fonctionnant de manière similaire au bloc default dans les déclarations switch traditionnelles.
Exemple : Utilisation d'une expression Switch
Considérez un scénario où vous devez catégoriser une lecture de température :
int temperature = 25;
string weatherDescription = temperature switch
{
<= 0 => "Freezing",
< 20 => "Cold",
< 30 => "Mild",
_ => "Hot"
};
Console.WriteLine(weatherDescription);Dim temperature As Integer = 25
'INSTANT VB TODO TASK: The following 'switch expression' was not converted by Instant VB:
'string weatherDescription = temperature switch
'{
' <= 0 => "Freezing",
' < 20 => "Cold",
' < 30 => "Mild",
' _ => "Hot"
'};
Console.WriteLine(weatherDescription)Dans cet exemple, l'expression switch catégorise succinctement la température, le case default (_) couvrant tout scénario non répondu par les autres cas.
Correspondance de modèles avec les expressions Switch
Les expressions switch en C# permettent la correspondance de modèles, ce qui les rend encore plus polyvalentes. Vous pouvez faire correspondre des types, des valeurs ou même des modèles :
object obj = // some object;
string description = obj switch
{
int i => $"Integer: {i}",
string s => $"String: {s}",
_ => "Unknown type"
};'INSTANT VB TODO TASK: The following 'switch expression' was not converted by Instant VB:
'object obj = string description = obj switch
'{
' int i => $"Integer: {i}",
' string s => $"String: {s}",
' _ => "Unknown type"
'};Instruction Switch C# vs. Expression Switch
- Instruction Switch en C# : traditionnellement utilisée pour exécuter différents blocs de code en fonction de la valeur d'une variable. Elle nécessite une instruction break pour chaque case.
- Expression Switch : introduite dans C# 8.0, elle offre une syntaxe plus concise et est généralement utilisée lorsqu'une valeur doit être renvoyée en fonction d'une condition.
Integrating Switch Statements with IronPDF in C#

Explorer les fonctionnalités d'IronPDF est une bibliothèque PDF .NET pour créer, éditer, et travailler avec des documents PDF. Lorsqu'elle est combinée avec des déclarations ou expressions switch C#, elle devient un outil puissant pour gérer différentes opérations liées au PDF basées sur des conditions spécifiques. Cette intégration est particulièrement utile pour les tâches nécessitant une prise de décision basée sur le contenu ou les métadonnées du PDF.
La fonctionnalité clé d'IronPDF est de convertir HTML en PDF avec les mises en page et styles, tout en conservant les mises en page et les styles intacts. C'est idéal pour créer des PDF à partir de contenu web, y compris les rapports, les factures et la documentation. Les fichiers HTML, les URL et les chaînes HTML sont tous convertibles en fichiers PDF.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}Imports IronPdf
Module Program
Sub Main(args As String())
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End ModuleExemple : Filigrane conditionnel avec IronPDF et déclarations Switch
Considérons un scénario où vous avez un document PDF, et vous souhaitez appliquer différents filigranes selon le nombre de pages en fonction du nombre de pages dans le document. Voici comment vous pouvez réaliser cela avec IronPDF en combinaison avec une déclaration switch C# :
using IronPdf;
class Program
{
static void Main(string[] args)
{
IronPdf.License.LicenseKey = "Your-License-Code";
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Define different watermark HTML for each case
string watermarkHtmlOnePage = "<div style='color:red;'>One Page Document</div>";
string watermarkHtmlTwoPage = "<div style='color:blue;'>Two Page Document</div>";
switch (pdf.PageCount)
{
case 1:
// Apply watermark for one-page document
pdf.ApplyWatermark(watermarkHtmlOnePage);
break;
case 2:
// Apply watermark for two-page documents
pdf.ApplyWatermark(watermarkHtmlTwoPage);
break;
default:
// Apply a default watermark for other cases
pdf.ApplyWatermark("<div style='color:green;'>Multiple Page Document</div>");
break;
}
// Save the watermarked PDF
pdf.SaveAs("watermarked.pdf");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
IronPdf.License.LicenseKey = "Your-License-Code"
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Define different watermark HTML for each case
Dim watermarkHtmlOnePage As String = "<div style='color:red;'>One Page Document</div>"
Dim watermarkHtmlTwoPage As String = "<div style='color:blue;'>Two Page Document</div>"
Select Case pdf.PageCount
Case 1
' Apply watermark for one-page document
pdf.ApplyWatermark(watermarkHtmlOnePage)
Case 2
' Apply watermark for two-page documents
pdf.ApplyWatermark(watermarkHtmlTwoPage)
Case Else
' Apply a default watermark for other cases
pdf.ApplyWatermark("<div style='color:green;'>Multiple Page Document</div>")
End Select
' Save the watermarked PDF
pdf.SaveAs("watermarked.pdf")
End Sub
End ClassVoici le fichier PDF de sortie d'une page :

Conclusion
Dans ce tutoriel, nous avons exploré la déclaration switch case en C#, une forme fondamentale de prise de décision en programmation. Nous avons commencé par comprendre sa structure de base et l'avons comparée avec les déclarations if-else traditionnelles, mettant en avant ses avantages en termes de lisibilité et de simplicité pour gérer de multiples conditions.
Nous avons créé des cases switch simples, géré divers scénarios avec le case default, et exploré des fonctionnalités avancées comme les expressions switch. L'application réelle des déclarations switch a été démontrée à travers un exemple intégrant IronPDF pour le traitement dynamique de PDF, montrant comment les déclarations switch peuvent être un outil précieux dans la boîte à outils d'un programmeur.
IronPDF offre un essai gratuit pour explorer les fonctionnalités, vous permettant d'explorer ses caractéristiques et fonctionnalités. Pour une utilisation continue et un accès à sa suite complète d'outils, les licences IronPDF commencent à partir d'un modèle de tarification compétitif, fournissant une solution complète pour tous vos besoins de traitement PDF en C#.

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.
Articles connexes


