Utilisation d’une énumération
"Les énumérations ne sont utiles que si on les utilise réellement." ✅
Affectation d’une valeur d'énumération
Une fois l’énumération déclarée, on peut l'utiliser comme un type de variable.
enum Jour { Lundi, Mardi, Mercredi }
Jour aujourdHui = Jour.Mardi;
Affichage d’une valeur enum
Console.WriteLine(aujourdHui); // Affiche : Mardi
Console.WriteLine((int)aujourdHui); // Affiche : 1
L'affichage par défaut utilise le nom de la constante, pas sa valeur numérique.
Conversion vers / depuis un entier
- Vers entier :
int valeur = (int)Jour.Mardi; - Depuis entier :
Jour j = (Jour)2;
⚠️ Attention : si la valeur entière ne correspond pas à une constante définie, la conversion reste possible mais peut être dangereuse (valeur invalide au sens logique).
Utilisation dans une structure conditionnelle
Les énumérations sont idéales avec un switch :
Jour j = Jour.Mercredi;
switch (j)
{
case Jour.Lundi:
Console.WriteLine("Début de semaine");
break;
case Jour.Mercredi:
Console.WriteLine("Milieu de semaine");
break;
default:
Console.WriteLine("Autre jour");
break;
}
Enum et méthodes
On peut utiliser les enum comme paramètres de méthode :
void AfficherJour(Jour j)
{
Console.WriteLine("Le jour sélectionné est : " + j);
}
AfficherJour(Jour.Mardi);
⚠️ Erreurs fréquentes
- ❌ Comparer une valeur enum avec un string (
if (j == "Mardi")) - ❌ Utiliser un entier sans cast explicite (
Jour j = 2) - ❌ Oublier
breakdans unswitchsur enum - ❌ Ne pas couvrir tous les cas possibles dans un
switch(penser audefault!)
Quiz
Testez vos connaissances ! 📝 Clique sur chaque question pour découvrir la réponse.
1️⃣ Que permet l’utilisation de
ToString() sur une valeur enum ?
B. Obtenir son nom sous forme de texte
C. L’effacer de la mémoire
D. Modifier son type
E. Comparer deux enums
✅ Afficher la réponse
ToString() retourne le nom textuel de la constante.
2️⃣ Que fait ce code ?
Jour j = (Jour)3;
Console.WriteLine(j);
B. Affiche 3
C. Affiche un nom si 3 correspond à une valeur définie
D. Ne compile pas
E. Affiche toujours null
✅ Afficher la réponse
3️⃣ Quel est le type d’une variable de type enum ?
B. int
C. bool
D. enum
E. Le nom de l’énumération
✅ Afficher la réponse
4️⃣ Que faut-il toujours faire dans un switch utilisant une enum ?
break à chaque case
B. Ajouter une boucle
C. Ajouter une classe
D. Utiliser une chaîne de caractères
E. Éviter l’énumération
✅ Afficher la réponse
break, tous les cas suivants s’exécutent (effet de “chute”).
5️⃣ Pourquoi faut-il faire attention lors d'une conversion enum-int ?
B. Cela ajoute des valeurs
C. Cela peut entraîner un crash
D. Cela peut produire une valeur invalide
E. Cela interrompt l’exécution
✅ Afficher la réponse
Navigation
Introduction Déclaration Utilisation Travail pratique
Pour aller plus loin
-
Documentation Microsoft – enum (C# Reference)
Référence complète sur les énumérations, avec des exemples de déclaration, de conversion, et de comparaison. -
Microsoft Learn – Tutoriel sur les énumérations
Tutoriel pratique pour apprendre à créer et utiliser des enums dans différentes situations.
-
W3Schools – C# Enums
Introduction claire aux enums, avec des exemples simples à tester en ligne. -
Programiz – C# enum
Explications progressives sur l’utilisation des enums avec illustrations. -
Dot Net Tutorials – Enum in C#
Article riche en exemples pour comprendre le comportement des énumérations dans divers contextes.