Comment parcourir les valeurs Enum en C #

Faire une boucle dans une liste de recensement ou une énumération en C # est une compétence essentielle. Cette recette technologique fournit un exemple détaillé et explique le processus de mise en boucle.

Le type de données d'énumération (ou enum) est utilisé pour affecter des constantes symboliques avec des valeurs uniques. le enum mot-clé est utilisé en C # pour déclarer une énumération.

Tout d'abord, une énumération devra être déclarée en utilisant la syntaxe suivante:

identificateur enum {énumérateur-liste}

En utilisant cette syntaxe, nous pouvons construire notre exemple.

enum WeekDays {dim, lun, mar, mer, jeu, ven, sam};

Dans l'exemple ci-dessus, la première constante symbolique 'Sun' se verra attribuer la valeur 0. 'Mon' sera égal à 1. Ce modèle continuera jusqu'à ce que 'Sat' soit égal à la valeur 6. Maintenant, sans boucle, tous les éléments de la liste enum et leurs valeurs respectives peuvent nécessiter jusqu'à sept lignes de code. Un pour chaque jour de la semaine.

int val1 = (int) WeekDays.Sun;
int val2 = (int) WeekDays.Mon;

int val7 = (int) WeekDays.Sat;

De toute évidence, c'est une solution délicate si la liste de recensement est énorme. Il est beaucoup plus facile de parcourir la liste d'énumération pour imprimer les constantes symboliques et les valeurs associées.

le Enum.Getnames et Enum.GetValues les méthodes sont utilisées pour extraire la constante symbolique et les valeurs qui lui sont associées. La syntaxe de base de ces méthodes est la suivante:

var values ​​= Enum.GetValues ​​(typeof (MyEnum));

Voici mon exemple de travail démontrant ces méthodes en action.


programme de classe
{
enum WeekDays {dim, lun, mar, mer, jeu, ven, sam};
static void Main (string [] args)
{
string [] days = Enum.GetNames (typeof (WeekDays));
foreach (chaîne s en jours)
{
Console.WriteLine (s);
}
Console.ReadLine ();
}
}
Sortie:
Soleil
lun
Mar
mer
jeu
ven
Sam


programme de classe
{
enum WeekDays {dim, lun, mar, mer, jeu, ven, sam};
static void Main (string [] args)
{
foreach (jour de la semaine dans Enum.GetValues ​​(typeof (WeekDays)))
{
int x = (int) jour;
Console.WriteLine ("{0} = {1}", jour, x);
}
Console.ReadLine ();
}
}
sortie:
Soleil = 0
Mon = 1
Tue = 2
Mer = 3
Jeu = 4
Ven = 5
Sat = 6


programme de classe
{
enum WeekDays {dim, lun, mar, mer, jeu, ven, sam};
static void Main (string [] args)
{
foreach (jour de la semaine dans Enum.GetValues ​​(typeof (WeekDays)))
{
int x = (int) jour;
Console.Write ("{0} \ t", x);
}
Console.ReadLine ();
}
}
Sortie
0       1       2       3       4       5       6