Passare attraverso un elenco di enumerazione o enum in C # è un'abilità essenziale. Questa ricetta tecnica fornisce un esempio dettagliato e descrive una spiegazione del processo di looping.
Il tipo di dati di enumerazione (o enum) viene utilizzato per assegnare costanti simboliche con valori univoci. Il enum la parola chiave è usata in C # per dichiarare un'enumerazione.
Innanzitutto, sarà necessario dichiarare un enum utilizzando la seguente sintassi:
identificatore enum {elenco-enumeratore}
Usando questa sintassi possiamo costruire il nostro esempio.
enum WeekDays {dom, lun, mar, mer, gio, ven, sab};
Nell'esempio sopra la prima costante simbolica 'Sole' verrà assegnato un valore 0. 'Mon' sarà uguale a 1. Questo modello continuerà fino a che 'Sat' è uguale al valore di 6. Ora, senza loop, stampando tutte le voci dell'elenco enum e i rispettivi valori potrebbero richiedere fino a sette righe di codice. Uno per ogni giorno della settimana.
int val1 = (int) WeekDays.Sun;
int val2 = (int) WeekDays.Mon;
…
int val7 = (int) WeekDays.Sat;
Ovviamente, questa è una soluzione scomoda se l'elenco di enumerazione è enorme. È molto più semplice scorrere l'elenco di enumerazione per stampare le costanti simboliche e i valori associati.
Il Enum.Getnames e Enum.GetValues i metodi sono usati per recuperare la costante simbolica e i valori ad essa associati. La sintassi di base di questi metodi è la seguente:
var values = Enum.GetValues (typeof (MyEnum));
Ecco il mio esempio di lavoro che dimostra questi metodi in azione.
programma di classe
{
enum WeekDays {dom, lun, mar, mer, gio, ven, sab};
static void Main (string [] args)
{
string [] days = Enum.GetNames (typeof (WeekDays));
foreach (stringa s in giorni)
{
Console.WriteLine (s);
}
Console.ReadLine ();
}
}
Produzione:
Sole
Mon
mar
sposare
gio
Fri
Sat
programma di classe
{
enum WeekDays {dom, lun, mar, mer, gio, ven, sab};
static void Main (string [] args)
{
foreach (WeekDays day in Enum.GetValues (typeof (WeekDays)))
{
int x = (int) giorno;
Console.WriteLine ("{0} = {1}", giorno, x);
}
Console.ReadLine ();
}
}
produzione:
Sole = 0
Lun = 1
Tue = 2
Mer = 3
Gio = 4
Ven = 5
Sat = 6
programma di classe
{
enum WeekDays {dom, lun, mar, mer, gio, ven, sab};
static void Main (string [] args)
{
foreach (WeekDays day in Enum.GetValues (typeof (WeekDays)))
{
int x = (int) giorno;
Console.Write ("{0} \ t", x);
}
Console.ReadLine ();
}
}
Produzione
0 1 2 3 4 5 6