In C# esiste il tipo enum (enumerazione) che permette di definire un insieme chiuso di valori. Questo tipo di dato torna comodo per obbligare una variabile a contenere solo una serie finita di valori pre-individuati come, per esempio, potrebbero essere i mesi dell'anno o i giorni della settimana.
La parola chiave enum permette di definire l'elenco dei valori ammissibili per un particolare tipo di valore che di default è int a partire da zero.
public enum TimeOfDay
{
Morning = 0,
Afternoon = 1,
Evening = 2
}
Nel caso dell'esempio, le variabili di tipo TimeOfDay possono contenere solo i tre valori presenti nell'enumerazione, ovvero 0, 1, 2. Il valore numerico viene identificato tramite l'etichetta definita nella dichiarazione dell'enum (per esempio: Afternoon vale 1).
Attenzione al cast! TimeOfDay è un sottoinsieme di interi, ma non è il tipo int. Quindi occhio alle conversioni da int a TimeOfDay e viceversa che sono possibili se e solo se i valori sono ammissibili (ovvero inclusi nella enum: 0, 1, 2).
Ciao, Ricky.