IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

C# Enums (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21 avril 2026

Contenu du corps : Les énumérations, qui sont des abréviations pour les énumérations, constituent une fonctionnalité puissante qui permet aux développeurs d'établir un ensemble de constantes nommées. Ces constantes rendent le code plus lisible et plus facile à maintenir en fournissant des noms significatifs pour les valeurs. Dans cet article, nous explorerons les concepts de base et avancés des énumérations en C# à travers divers exemples et explications. Notre objectif est de fournir une compréhension approfondie des énumérations et de la manière dont elles peuvent être utilisées efficacement dans vos applications C# en utilisant la bibliothèque IronPDF pour la génération de PDF en .NET.

Introduction to Enum in C#

Une énumération est un type valeur en C# qui permet à une variable d'être un ensemble de constantes prédéfinies, chacune étant appelée un membre de l'énumération. Le mot-clé enum est utilisé pour déclarer un type d'énumération, fournissant un moyen de regrouper des valeurs constantes sous un seul nom. Les énumérations améliorent la lisibilité du code et réduisent les erreurs causées par le passage de mauvaises valeurs.

// Define an enum with four members
enum Season { Spring, Summer, Autumn, Winter }

Dans le code ci-dessus, Season est un type d'énumération avec quatre membres : Printemps, Été, Automne et Hiver. En définissant cette énumération, nous pouvons désormais créer des variables de type Season qui ne peuvent contenir qu'une de ces quatre valeurs.

Type sous-jacent des énumérations

Compréhension de la valeur entière des membres d'une énumération

Par défaut, le type sous-jacent d'une énumération en C# est int, connu sous le nom de type entier sous-jacent, et les valeurs entières des membres de l'énumération commencent à 0. La valeur entière de chaque membre est incrémentée de 1 par rapport au membre précédent, sauf indication contraire. Vous pouvez également définir le type sous-jacent d'une énumération pour être tout autre type intégral.

// Define an enum with a byte underlying type and specific values
enum Season : byte { Spring = 1, Summer, Autumn = 4, Winter }

Dans cet exemple, l'énumération Season a un octet comme type sous-jacent. Printemps se voit attribuer explicitement une valeur de 1, ce qui en fait la valeur par défaut, tandis qu'Été, Automne et Hiver se voient attribuer des valeurs correspondantes en fonction de leur ordre.

Utilisation des énumérations dans votre code

Pour utiliser une énumération, il suffit de déclarer une variable du type d'énumération spécifié et de lui attribuer une valeur de l'énumération, telle qu'une des différentes valeurs définies dans la déclaration de l'énumération, à l'aide de la syntaxe pointée.

// Declare a Season variable and assign it an enum member value
Season currentSeason = Season.Autumn;

Cette ligne crée une variable currentSeason de type Season et lui attribue la valeur Autumn. Cela rend clair que currentSeason ne peut contenir qu'une valeur qui est un Season valide.

Conversion entre les valeurs d'énumération et les entiers

Vous pouvez convertir une valeur d'énumération en sa valeur entière correspondante en utilisant le transtypage, et vice versa. Ceci est utile lorsque vous devez stocker ou transmettre des données sous forme numérique.

// Convert Season.Autumn to its integer value and vice versa
int autumnInt = (int)Season.Autumn;     // autumnInt will be 4
Season season = (Season)4;              // season will be Season.Autumn

Ici, autumnInt aura la valeur 4, qui correspond à Autumn dans l'énumération Season. Inversement, season sera défini sur Autumn lorsqu'un entier 4 sera retranstypé en un Season.

Travailler avec les Méthodes Enum

C# fournit plusieurs méthodes pour travailler avec les énumérations, telles que Enum.GetName(), Enum.GetNames(), Enum.GetValue(), et Enum.GetValues(), qui sont utiles pour accéder aux constantes entières associées à chaque membre de l'énumération.

// Get names of all enum members and print them
string[] names = Enum.GetNames(typeof(Season));
foreach (string name in names)
{
    Console.WriteLine(name);
}

C# Enums (Comment cela fonctionne pour les développeurs) : Figure 1 - Sortie de la console pour chaque valeur associée à l'énum Season

Ce code extrait imprime les noms de tous les membres de l'énumération Season. De telles méthodes sont extrêmement utiles pour parcourir toutes les valeurs possibles d'une énumération ou pour convertir entre la représentation en chaîne et la valeur de l'énumération.

Attribution de valeurs spécifiques aux membres de l'énumération

Vous pouvez attribuer des valeurs entières spécifiques aux membres d'une énumération pour contrôler explicitement leur valeur numérique.

// Define an enum with custom integer values for members
enum ErrorCode : int { None = 0, NotFound = 404, Unauthorized = 401 }

Dans cet exemple, ErrorCode est une énumération avec des valeurs entières personnalisées attribuées à chaque membre. Cela est utile pour les codes numériques prédéfinis, tels que les codes d'état HTTP.

Utilisation des énumérations comme indicateurs de bits

En utilisant l'attribut [Flags], vous pouvez définir une énumération comme un ensemble d'indicateurs de bits. Cela vous permet de stocker une combinaison de valeurs dans une seule variable d'énumération.

[Flags]
// Define an enum for permissions using bit flags
enum Permissions { None = 0, Read = 1, Write = 2, Execute = 4 }

Avec l'énumération Permissions définie ci-dessus, vous pouvez combiner différents droits à l'aide de l'opérateur de comparaison " ou " binaire.

// Combine permissions using bitwise OR
Permissions myPermissions = Permissions.Read | Permissions.Write;

Cela définit myPermissions sur une combinaison de droits Read et Write.

Énumération et instructions switch

Les énumérations fonctionnent exceptionnellement bien avec les instructions switch, vous permettant d'exécuter différents blocs de code en fonction de la valeur de l'énumération.

// Use a switch statement with an enum
Season season = Season.Summer;
switch (season)
{
    case Season.Spring:
        Console.WriteLine("It's spring.");
        break;
    case Season.Summer:
        Console.WriteLine("It's summer.");
        break;
    case Season.Autumn:
        Console.WriteLine("It's autumn.");
        break;
    case Season.Winter:
        Console.WriteLine("It's winter.");
        break;
}

Ce code imprimera " C'est l'été. " parce que la variable season est définie sur Season.Summer.

Analyse de chaîne en énumération

C# vous permet d'analyser une chaîne pour obtenir la valeur d'énumération correspondante en utilisant la méthode Enum.Parse().

// Parse a string into an enum value
string input = "Winter";
Season season = (Season)Enum.Parse(typeof(Season), input);

Ce code convertit la chaîne "Winter" en sa valeur d'énumération correspondante Season.Winter.

Integrating IronPDF with Enums in C#

IronPDF PDF Library for Dynamic Document Generation est une bibliothèque PDF pour les applications .NET qui aide les développeurs à créer, éditer et manipuler des documents PDF facilement. Cette bibliothèque puissante peut être particulièrement utile dans des scénarios où la génération de PDF dynamique est requise, comme lors de la création de rapports ou de factures. Dans cette section, nous explorerons comment intégrer IronPDF avec les énumérations C# pour créer des rapports PDF à partir de HTML en .NET, et nous couvrirons également le processus d'installation d'IronPDF dans votre projet.

Avec IronPDF, vous pouvez transformer n'importe quel HTML, URL ou page Web en un PDF qui ressemble exactement à la source. C'est une excellente option pour générer des PDF pour des factures, des rapports et d'autres contenus Web. Prêt à convertir HTML en PDF? IronPDF rend cela sans effort.

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");
    }
}

Installer IronPDF

L'installation d'IronPDF est très facile avec la console du gestionnaire de packages NuGet. Ouvrez la console du gestionnaire de packages dans Visual Studio et écrivez la commande suivante :

PM > Install-Package IronPdf

Cette commande installera IronPDF dans notre projet.

Une autre manière est d'installer IronPDF dans votre projet en utilisant Visual Studio. Dans Visual Studio, faites un clic droit sur l'explorateur de solutions et cliquez sur Gestionnaire de packages NuGet pour Solutions. Ensuite, cliquez sur l'onglet de navigation sur le côté gauche. Ensuite, recherchez IronPDF, cliquez sur installer et ajoutez-le à votre projet.

C# Enums (Comment cela fonctionne pour les développeurs) : Figure 2 - Installer IronPDF en recherchant "IronPDF" à l'aide du gestionnaire de packages NuGet

Utilisation d'IronPDF avec les énumérations

Considérons un scénario où vous souhaitez générer un document PDF incluant un rapport sur les données de vente saisonnières. Vous pouvez utiliser des énumérations pour représenter différentes saisons et IronPDF pour générer le rapport PDF. Tout d'abord, définissez une énumération pour les saisons :

public enum Season
{
    Spring,
    Summer,
    Autumn,
    Winter
}

Ensuite, nous écrirons une méthode qui génère un rapport PDF basé sur la saison sélectionnée. Cette méthode utilisera IronPDF pour créer un document PDF simple qui présente les données de vente pour la saison donnée.

using IronPdf;
public class SalesReportGenerator
{
    public static void GenerateSeasonalSalesReport(Season season)
    {
        IronPdf.License.LicenseKey = "License-Key";
        var Renderer = new IronPdf.ChromePdfRenderer();
        var htmlTemplate = $"<h1>Sales Report for {season}</h1><p>This section contains sales data for the {season} season.</p>";
        var pdf = Renderer.RenderHtmlAsPdf(htmlTemplate);
        var outputPath = $@"{season}SalesReport.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF report generated: {outputPath}");
    }
}

Dans cet exemple, nous définissons une méthode GenerateSeasonalSalesReport qui prend une énumération Season comme paramètre. Elle utilise la classe ChromePdfRenderer d'IronPDF pour générer un PDF à partir d'une chaîne HTML incluant le nom de la saison et un texte de remplacement pour les données de vente. Le PDF est ensuite enregistré avec un nom de fichier incluant le nom de la saison.

Exécution

Pour générer un rapport de ventes saisonnières, appelez la méthode GenerateSeasonalSalesReport avec une saison spécifique :

static void Main(string[] args)
{
    SalesReportGenerator.GenerateSeasonalSalesReport(Season.Winter);
}

Cet appel génère un document PDF nommé WinterSalesReport.pdf, qui inclut le rapport de ventes pour la saison hivernale.

C# Enums (Comment cela fonctionne pour les développeurs) : Figure 3 - Exemple de sortie PDF en utilisant IronPDF à partir de l'exemple de code

Conclusion

Les énumérations en C# offrent un moyen sécurisé de type pour travailler avec des ensembles de constantes nommées apparentées. Elles améliorent la lisibilité du code, réduisent les erreurs et facilitent une meilleure organisation du code. En groupant des valeurs constantes apparentées sous un nom significatif, les énumérations rendent votre code plus facile à comprendre et à maintenir.

L'intégration d'IronPDF avec les énumérations en C# permet la génération dynamique de documents PDF basés sur les types énumérés. IronPDF offre un essai gratuit de ses outils PDF complets, fournissant une gamme d'options adaptées aux différents besoins et échelles de projet.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.

...
Read More

Related Articles

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge related to IronPDF Product Demo

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise