C-SHARP - 3.15 Enum (Démo)

Petit exercice rapide pour mettre en pratique la notion d'énumération. Objectif : selon la valeur stockée dans une variable jour de type JoursSemaines, le programme doit afficher « C'est le week-end, on est… » si le jour est samedi ou dimanche, sinon « C'est la semaine, on est… ». Le programme doit s'adapter automatiquement à la constante choisie, en utilisant impérativement l'énumération définie précédemment.

La logique de la condition

La première constante de l'énumération a été initialisée à 1, donc Lundi = 1, Mardi = 2, …, Vendredi = 5, Samedi = 6, Dimanche = 7. La règle est alors simple : si la valeur de la constante est strictement supérieure à 5, on est en week-end. Pour comparer une constante d'énumération à un entier, il faut forcer la conversion via un cast en int.

La correction complète

if ((int)jour > 5)
{
    Console.WriteLine(string.Format("C'est le week-end, on est {0}", jour));
}
else
{
    Console.WriteLine("C'est la semaine, on est " + jour);
}

Deux styles d'affichage sont utilisés volontairement pour réviser les notions. Le if emploie string.Format avec un placeholder {0} remplacé par la variable jour. Le else utilise la concaténation classique avec l'opérateur +. Dans les deux cas, jour affiche directement le nom de la constante (Samedi, Mercredi…).

Tests et bonnes pratiques d'affichage

Si jour = JoursSemaines.Samedi, la valeur vaut 6 et la condition > 5 est vraie : on affiche « C'est le week-end, on est Samedi ». Avec Dimanche, même résultat. Avec Mercredi (valeur 3), la condition est fausse, on bascule dans le else qui affiche « C'est la semaine, on est Mercredi ».

Petite recommandation pour conclure : préférez string.Format à la concaténation. C'est plus lisible, plus sûr, et on visualise mieux la sortie. La concaténation fonctionne, mais on est moins certain du rendu final lorsque le message devient complexe.