Chargement...

Utilisation des constantes et des énumérations en C#

Apprenez à utiliser les constantes et les énumérations en C# pour écrire un code plus lisible, sûr et maintenable avec exemples.

En programmation, certains valeurs ne changent jamais pendant toute l’exécution d’une application. Dans ces cas, on utilise des constantes (const) ou des structures enum. Les constantes servent à fixer une valeur, tandis que les enums permettent de définir des ensembles significatifs de constantes. Cela rend le code plus lisible, plus fiable et plus facile à maintenir.


Constantes (const)

Les variables définies avec le mot-clé const ne peuvent pas être modifiées pendant l’exécution du programme.


const double Pi = 3.14159;
const int MaxUser = 100;

Console.WriteLine("Valeur de Pi : " + Pi);
Console.WriteLine("Nombre maximal d’utilisateurs : " + MaxUser);

Ici, Pi et MaxUser sont des valeurs constantes. Elles ne peuvent être modifiées nulle part dans le programme.


Constantes Readonly

Les variables définies avec readonly ne peuvent être affectées qu’à l’endroit où elles sont déclarées ou dans un constructeur. Elles ne peuvent pas être modifiées par la suite.


class Parametres
{
    public readonly string Version = "1.0.0";

    public Parametres(string version)
    {
        Version = version; // peut être affectée dans le constructeur
    }
}

Les valeurs définies avec readonly peuvent être déterminées à l’exécution, ce qui les distingue de const.


Définition d’un Enum

Un enum (énumération) est un type de données spécial qui contient un groupe de constantes liées. Par défaut, les enums contiennent des valeurs de type int.


enum Jours
{
    Lundi,
    Mardi,
    Mercredi,
    Jeudi,
    Vendredi,
    Samedi,
    Dimanche
}

class Program
{
    static void Main()
    {
        Jours aujourdHui = Jours.Mercredi;
        Console.WriteLine("Aujourd’hui : " + aujourdHui);
        Console.WriteLine("Valeur numérique du jour : " + (int)aujourdHui);
    }
}

Dans cet exemple, un enum nommé Jours est créé et la valeur Mercredi est sélectionnée.


Valeurs Enum et utilisation avec Switch

Les valeurs des enums sont souvent utilisées avec l’instruction switch.


Jours aujourdHui = Jours.Vendredi;

switch (aujourdHui)
{
    case Jours.Lundi:
        Console.WriteLine("Début de semaine.");
        break;
    case Jours.Vendredi:
        Console.WriteLine("Presque le week-end !");
        break;
    case Jours.Dimanche:
        Console.WriteLine("Jour de repos.");
        break;
    default:
        Console.WriteLine("Jour normal.");
        break;
}

Attribuer des valeurs personnalisées à un Enum

Par défaut, les valeurs d’un enum commencent à 0, mais il est possible de leur attribuer des nombres personnalisés.


enum CodesErreur
{
    Succes = 0,
    Avertissement = 100,
    Erreur = 200,
    Critique = 500
}

class Program
{
    static void Main()
    {
        CodesErreur code = CodesErreur.Erreur;
        Console.WriteLine($"Code d’erreur : {(int)code} - {code}");
    }
}

De cette façon, les enums rendent les constantes telles que les codes d’erreur ou les codes d’état plus significatives.


TL;DR

  • const : Valeur constante à la compilation, ne peut pas être modifiée.
  • readonly : Ne peut être affectée qu’à la déclaration ou dans le constructeur.
  • enum : Type spécial qui regroupe des constantes significatives.
  • Les valeurs des enums peuvent être facilement utilisées avec l’instruction switch.