Share via


Énumérations (Visual C# Express)

Mise à jour : novembre 2007

C# vous permet de créer votre propre jeu de constantes nommées à l'aide du mot clé enum. Ces types de données vous permettent de déclarer un jeu de noms ou d'autres valeurs littérales qui définissent toutes les valeurs possibles pouvant être affectées à une variable.

Par exemple, si votre programme gère les jours de la semaine, vous pouvez créer un type nouveau appelé DayOfWeek. Vous pourriez ensuite déclarer une nouvelle variable de type DayOfWeek et lui assigner une valeur. L'utilisation de ce type de données permet à votre code d'être plus lisible. Il permet également de diminuer la possibilité qu'une valeur illégale ou inattendue soit assignée à la variable.

public enum DayOfWeek
{
    Sunday = 0,
    Monday = 1, 
    Tuesday = 2, 
    Wednesday = 3, 
    Thursday = 4, 
    Friday = 5, 
    Saturday = 6
}

class Program
{
    static void Main()
    {
        DayOfWeek day = DayOfWeek.Monday;
        int i = (int) DayOfWeek.Monday;

        System.Console.WriteLine(day);  // displays Monday
        System.Console.WriteLine(i);    // displays 1
    }
}

Techniques d'énumération plus évoluées

Voici plusieurs autres fonctionnalités des types de données enum qui peuvent être utiles.

Afficher les valeurs littérales de l'énumération

Si vous devez accéder au nom ou aux mots utilisés dans votre type de données enum, vous pouvez le faire à l'aide de la méthode ToString(), comme suit :

DayOfWeek day = DayOfWeek.Wednesday;
System.Console.WriteLine(day.ToString());  // displays Wednesday

Définir des valeurs par défaut

Par défaut, la première valeur dans le type énuméré est un zéro. Vous pouvez spécifier une valeur initiale différente, comme suit :

enum Color { Red = 1, Yellow = 2, Blue = 3 };

En fait, vous pouvez définir des valeurs entières uniques pour toutes les valeurs :

enum Medal { Gold = 30, Silver = 20, Bronze = 10 };

Voir aussi

Concepts

Initiation au langage C#

Types de données intégrés (Visual C# Express)

Types valeur et référence (Visual C# Express)

Référence

Constantes (Guide de programmation C#)