Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser l'instruction Switch C# : Syntaxe, exemples et bonnes pratiques

Instruction Switch C#

Découvrez comment remplacer les chaînes if-else complexes par une instruction switch propre et lisible en C# — complète avec des exemples pratiques.

Les instructions switch simplifient la prise de décision en évaluant une seule expression et en exécutant le bloc case correspondant. Comparé à une longue échelle if-else, la syntaxe switch est plus concise et plus facile à maintenir.

La structure de base est :

switch (variableOuExpression) {
    case valeur1:
        // Code pour valeur1
        break;
    case valeur2:
        // Code pour valeur2
        break;
    // …
    default:
        // Code quand aucun case ne correspond
}

Lorsque l'expression correspond à un case, le bloc correspondant s'exécute jusqu'à ce qu'un break termine le switch. Si aucun case ne correspond, le bloc default s'exécute, miroir d'une clause else.

Sans break, l'exécution « traverserait » et continuerait dans les cases suivantes — menant souvent à des bugs. Pour une analyse plus approfondie de l'instruction break C#, consultez la documentation officielle.


Exemple 1 : Identification des voyelles

using System;
namespace Conditional {
    class SwitchCase {
        public static void Main(string[] args) {
            char ch;
            Console.WriteLine("Entrez une lettre");
            ch = Convert.ToChar(Console.ReadLine());
            switch(Char.ToLower(ch)) {
                case 'a':
                    Console.WriteLine("Voyelle");
                    break;
                case 'e':
                    Console.WriteLine("Voyelle");
                    break;
                case 'i':
                    Console.WriteLine("Voyelle");
                    break;
                case 'o':
                    Console.WriteLine("Voyelle");
                    break;
                case 'u':
                    Console.WriteLine("Voyelle");
                    break;
                default:
                    Console.WriteLine("Pas une voyelle");
                    break;
            }
        }
    }
}

L'exécution du programme produit :

Entrez une lettre X
Pas une voyelle

Ici, la saisie de l'utilisateur est convertie en minuscules et comparée aux cas de voyelles. Si aucune voyelle ne correspond, le message par défaut est affiché.

Puisque tous les cas de voyelles effectuent la même action, ils peuvent être groupés :


Exemple 2 : Cas groupés

using System;
namespace Conditional {
    class SwitchCase {
        public static void Main(string[] args) {
            char ch;
            Console.WriteLine("Entrez une lettre");
            ch = Convert.ToChar(Console.ReadLine());
            switch(Char.ToLower(ch)) {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    Console.WriteLine("Voyelle");
                    break;
                default:
                    Console.WriteLine("Pas une voyelle");
                    break;
            }
        }
    }
}

La sortie reste identique, mais le code est nettement plus propre.

Les instructions switch sont limitées à des types de données spécifiques :


Exemple 3 : Calculatrice simple

using System;
namespace Conditional {
    class SwitchCase {
        public static void Main(string[] args) {
            char op;
            double first, second, result;
            Console.Write("Entrez le premier nombre : ");
            first = Convert.ToDouble(Console.ReadLine());
            Console.Write("Entrez le second nombre : ");
            second = Convert.ToDouble(Console.ReadLine());
            Console.Write("Entrez l'opérateur (+, -, *, /) : ");
            op = (char)Console.Read();
            switch(op) {
                case '+':
                    result = first + second;
                    Console.WriteLine("{0} + {1} = {2}", first, second, result);
                    break;
                case '-':
                    result = first - second;
                    Console.WriteLine("{0} - {1} = {2}", first, second, result);
                    break;
                case '*':
                    result = first * second;
                    Console.WriteLine("{0} * {1} = {2}", first, second, result);
                    break;
                case '/':
                    result = first / second;
                    Console.WriteLine("{0} / {1} = {2}", first, second, result);
                    break;
                default:
                    Console.WriteLine("Opérateur invalide");
                    break;
            }
        }
    }
}

Exemple d'exécution :

Entrez le premier nombre : -13.11
Entrez le second nombre : 2.41
Entrez l'opérateur (+, -, *, /) : *
-13.11 * 2.41 = -31.5951

Cette calculatrice accepte deux opérandes et un opérateur, puis effectue l'opération demandée en utilisant un switch. Les entrées sont lues via ReadLine() et Read() ; pour plus d'informations sur les entrées/sorties, voir Entrées et sorties de base C#.

Bien qu'une chaîne if-else puisse remplacer le switch, ce dernier offre une intention plus claire et une exécution plus rapide pour les valeurs discrètes.

Langue C

  1. Circuit avec interrupteur : guide pratique des circuits électriques de base
  2. Expérience sur la diode de roue libre : Suppression du retour inductif avec une lampe néon
  3. Comprendre les interrupteurs électriques : types, fonctions et applications
  4. Élimination des rebonds de contacts dans les interrupteurs mécaniques
  5. Instruction Break C# : Comment et quand l'utiliser
  6. Maîtriser l'instruction Continue C# : Comment ignorer efficacement les itérations de boucle
  7. Maîtriser l'instruction pass en Python : Guide pratique
  8. Maîtriser le switch-case en C++ : Syntaxe, utilisation et exemples pratiques
  9. Maîtriser la syntaxe de base du C : Jetons, structure et points-virgules