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 C# : Sélectionner tout - Visualiser dans une fenêtre à part
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.