Problème avec la condition switch
Bonjour,
Je viens de Visual basic 6 que j'ai utilisé durant 15 ans et je suis en train d'apprendre le C#, j'en suis à mon premier exercice et je bloque sur l'utilisation de switch
J'ai tenté le bout de code suivant mais apparemment, switch n'accepte pas que l'on passe d'un case à l'autre si dans l'un d'entre eux on a un break.
Erreur : Erreur 1 Le contrôle ne peut pas passer d'une étiquette case ('case 1:') à une autre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
switch (DateTime.Now.DayOfWeek)
{
case DayOfWeek.Monday:
if (iCurrentHour < 9)
{
Console.WriteLine("Bon weekend " + sUserName);
break;
}
case DayOfWeek.Friday:
if (iCurrentHour > 18)
{
Console.WriteLine("Bon weekend " + sUserName);
break;
}
case DayOfWeek.Tuesday:
case DayOfWeek.Wednesday:
case DayOfWeek.Thursday:
if (iCurrentHour < 9 && iCurrentHour > 18)
Console.WriteLine("Bonjour " + sUserName);
else
Console.WriteLine("Bonsoir " + sUserName);
break;
case DayOfWeek.Saturday:
case DayOfWeek.Sunday:
Console.WriteLine("Bon weekend " + sUserName);
break;
} |
Dans mes deux premiers case je teste si on est toujours durant le weekend cad lundi avant 9 h et vendredi après 18 h. Si c'est le cas, j'affiche bon weekend, sinon on est en semaine et je passe au case suivant.
Je ne recherche pas la solution à mon exercice, simplement une explication sur l'erreur.
Merci d'avance pour vos éclaircissements.