Contenu du cours
C# au-delà des Bases
C# au-delà des Bases
Énumérateurs
Enum, également connu sous le nom de Enumérateur, est une structure pour regrouper ensemble des constantes intégrales. Les constantes sont essentiellement du type int
.
Voici la syntaxe pour créer un enum :
index
enum EnumName { Const1, Const2, Const3, ... }
Par défaut, le premier élément d'un enum a la valeur 0, le deuxième élément a une valeur 1
et ainsi de suite.
Par exemple :
index
enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Nous pouvons accéder aux valeurs de ces constantes en utilisant la syntaxe enumName.constantName
.
Par exemple :
index
using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Notez que dans l'exemple ci-dessus, nous devons explicitement convertir la constante en un type de données int
puisque ces constantes sont de type Days
par défaut, ce qui signifie que l'énumération Days
est un nouveau type de données que nous avons créé. Par conséquent, elle peut être stockée dans une variable de type Days
:
Ceci est utile dans des endroits comme les instructions switch.
Par exemple :
index
using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
Nous pouvons également attribuer manuellement des valeurs aux constantes de l'énumération. Les constantes non attribuées prennent des valeurs incrémentées des éléments précédents :
index
using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. Qu'est-ce qu'un enum en C# ?
2. Quel mot-clé est utilisé pour définir un enum ?
3. Dans un enum, quel est le type sous-jacent par défaut pour les valeurs ?
Merci pour vos commentaires !