📢 Nuovo Corso Laravel API disponibile!

Esercizi Enumeratori C#

Ecco degli esercizi semplici con soluzione per praticare le basi degli enumeratori in C#.

Esercizio 1

Definisci un enum "GiorniSettimana" per rappresentare i giorni della settimana.
enum GiorniSettimana
{
Lunedì,
Martedì,
Mercoledì,
Giovedì,
Venerdì,
Sabato,
Domenica
}

Esercizio 2

Dichiara una variabile di tipo "GiorniSettimana" e assegnale un valore.
GiorniSettimana giorno = GiorniSettimana.Martedì;
Console.WriteLine("Giorno: " + giorno);

Esercizio 3

Scrivi un metodo che accetti un parametro di tipo "GiorniSettimana" e stampi un messaggio specifico in base al giorno.
void StampaMessaggio(GiorniSettimana giorno)
{
switch (giorno)
{
case GiorniSettimana.Lunedì:
Console.WriteLine("Buon inizio settimana!");
break;
case GiorniSettimana.Venerdì:
Console.WriteLine("Felice fine settimana!");
break;
default:
Console.WriteLine("Buon giorno!");
break;
}
}
// Esempio di chiamata del metodo
StampaMessaggio(GiorniSettimana.Martedì);

Esercizio 4

Aggiungi un membro all'enum "GiorniSettimana" per rappresentare il valore speciale "NessunGiorno".
enum GiorniSettimana
{
NessunGiorno,
Lunedì,
Martedì,
Mercoledì,
Giovedì,
Venerdì,
Sabato,
Domenica
}

Esercizio 5

Utilizza il metodo Enum.GetValues per ottenere un array di tutti i giorni della settimana e stampali a schermo.
GiorniSettimana[] giorniArray = (GiorniSettimana[])Enum.GetValues(typeof(GiorniSettimana));
foreach (GiorniSettimana giorno in giorniArray)
{
Console.WriteLine(giorno);
}

Esercizio 6

Scrivi un metodo che accetti una stringa e verifichi se corrisponde a un valore valido dell'enum "GiorniSettimana".
bool VerificaGiorno(string valore)
{
return Enum.TryParse<GiorniSettimana>(valore, out _);
}
// Esempio di chiamata del metodo
bool esisteGiorno = VerificaGiorno("Lunedì");
Console.WriteLine("Esiste giorno: " + esisteGiorno);

Esercizio 7

Aggiungi un attributo di descrizione a ciascun membro dell'enum "GiorniSettimana" e stampa le descrizioni dei giorni.
using System.ComponentModel;
enum GiorniSettimana
{
[Description("Primo giorno della settimana")]
Lunedì,
[Description("Secondo giorno della settimana")]
Martedì,
// ...
}
// Esempio di utilizzo dell'attributo di descrizione
string descrizioneLunedì = GetEnumDescription(GiorniSettimana.Lunedì);
Console.WriteLine("Descrizione Lunedì: " + descrizioneLunedì);

Esercizio 8

Scrivi un metodo che restituisca una lista di stringhe contenente tutte le descrizioni dei giorni della settimana.
List<string> GetDescrizioniGiorni()
{
List<string> descrizioni = new List<string>();
foreach (GiorniSettimana giorno in giorniArray)
{
string descrizione = GetEnumDescription(giorno);
descrizioni.Add(descrizione);
}
return descrizioni;
}
// Esempio di utilizzo del metodo
List<string> descrizioniGiorni = GetDescrizioniGiorni();
foreach (string descrizione in descrizioniGiorni)
{
Console.WriteLine(descrizione);
}

Esercizio 9

Aggiungi un membro all'enum "GiorniSettimana" con un valore numerico specifico e stampa il suo valore sottostante.
enum GiorniSettimana
{
// ...
FineSettimana = 6
}
int valoreFineSettimana = (int)GiorniSettimana.FineSettimana;
Console.WriteLine("Valore FineSettimana: " + valoreFineSettimana);

Esercizio 10

Utilizza il metodo Enum.IsDefined per verificare se un valore numerico specifico corrisponde a un membro dell'enum "GiorniSettimana".
bool valoreValido = Enum.IsDefined(typeof(GiorniSettimana), 3);
Console.WriteLine("Valore valido: " + valoreValido);