Passer au contenu du pied de page
Iron Academy Logo
Apprendre le C#
Apprendre le C#

Autres catégories

Cas du commutateur C#

Layla Porter
20m 21s

L'instruction switch en C# est un puissant mécanisme de flux de contrôle qui permet aux développeurs d'exécuter un bloc de code parmi d'autres en fonction de la valeur d'une expression. Il est particulièrement utile dans les situations où plusieurs conditions doivent être vérifiées par rapport à une seule variable. Les opérateurs peuvent être utilisés dans les cas de commutation pour effectuer diverses actions sur les expressions de correspondance, telles que des comparaisons et des vérifications logiques.

Layla Porter, dans sa vidéo intitulée "C# pour les débutants partie 4 - Opérateurs et commutateurs", plonge dans les concepts fondamentaux de la programmation C#, en se concentrant sur les opérateurs et les instructions de cas de commutation. Cet article, inspiré de sa vidéo, décompose ses explications et fournit des extraits de code tirés de sa vidéo pour comprendre les cas de commutation et les opérateurs.

Introduction aux opérateurs

Les opérateurs en C# sont cruciaux pour manipuler des données, comparer des valeurs et prendre des décisions basées sur les valeurs de cas et les comparaisons. Layla commence par expliquer les différents types d'opérateurs : les opérateurs arithmétiques, les opérateurs de comparaison et les opérateurs logiques.

Saisie par l'utilisateur à l'aide de Console.ReadLine

Layla commence par démontrer comment capturer la saisie de l'utilisateur en utilisant Console.ReadLine(). Cette méthode lit une ligne d'entrée dans la console, ce qui est essentiel pour les applications C# interactives.

Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();
Console.WriteLine("Hello, please write any word:");
string word = Console.ReadLine();

Opérateur d'affectation

Dans l'extrait de code ci-dessus, Layla utilise l'opérateur d'affectation (=) pour stocker la valeur obtenue de la saisie utilisateur dans la variable word. Voici un aperçu de la situation :

  • string word : Déclare une variable nommée word de type string.

  • word = Console.ReadLine() : Utilise l'opérateur d'affectation (=) pour assigner la valeur saisie par l'utilisateur (obtenue à partir de Console.ReadLine()) à la variable word.

Dans ce contexte, l'opérateur d'affectation est utilisé pour définir la valeur de la variable word sur ce que l'utilisateur tape dans la console. L'opérateur d'affectation est fondamental en programmation, car il est utilisé pour stocker des valeurs dans des variables, ce qui permet d'utiliser et de manipuler ces valeurs tout au long de l'exécution du programme.

Opérateurs arithmétiques

Les opérateurs arithmétiques en C# effectuent des opérations mathématiques de base telles que l'addition, la soustraction, la multiplication, la division et le module. Ces opérateurs sont simples et essentiels pour tout langage de programmation. Layla n'aborde pas ces questions dans sa vidéo, car il s'agit d'opérations mathématiques simples qui renvoient les mêmes valeurs exactes que dans les vrais problèmes de mathématiques.

Opérateurs de comparaison

Les opérateurs de comparaison en C# nous permettent de comparer des valeurs et de prendre des décisions basées sur ces comparaisons. Layla introduit les opérateurs supérieur à (>), inférieur à (<), supérieur ou égal à (>=), inférieur ou égal à (<=), égalité (==), et inégalité (!=).

Utilisation des opérateurs de comparaison dans les instructions logiques conditionnelles

Dans sa vidéo, Layla Porter plonge dans l'utilisation de la logique conditionnelle en C# pour déterminer la longueur d'un mot fourni par l'utilisateur. Elle, à 2:10, commence par démontrer la structure de base d'une instruction if pour vérifier la longueur d'une chaîne en utilisant la propriété Length du type string. Cette propriété renvoie le nombre de caractères de la chaîne.

if (word.Length < 6)
{
    Console.WriteLine("That's a short word.");
}
if (word.Length < 6)
{
    Console.WriteLine("That's a short word.");
}

La première vérification conditionnelle utilise l'opérateur inférieur à (<) pour voir si la longueur du mot est inférieure à six caractères. Si la condition est remplie, le programme affiche "C'est un mot court" Cette partie du code permet de classer efficacement les mots courts.

Ensuite, à 4:00, Layla Porter introduit le concept d'utiliser une instruction else if avec des conditions combinées en utilisant l'opérateur supérieur ou égal à (>=) et l'opérateur logique AND (&&). La condition combinée vérifie que la longueur du mot est comprise entre six et onze caractères. Si les deux conditions sont remplies, le programme affiche "C'est un mot de longueur moyenne" Cela montre comment plusieurs conditions peuvent être combinées pour prendre des décisions plus fines en fonction de la longueur du mot.

else if (word.Length >= 6 && word.Length < 11)
{
    Console.WriteLine("That's a medium length word.");
}
else if (word.Length >= 6 && word.Length < 11)
{
    Console.WriteLine("That's a medium length word.");
}

Enfin, Layla, à 4:40, explique l'utilisation de l'instruction else pour traiter tous les autres cas qui ne remplissent pas les conditions précédentes. Cette partie du code affiche "C'est un mot long" pour les mots de onze caractères ou plus. L'utilisation de l'instruction else permet de s'assurer que toute entrée non prise en compte par les conditions précédentes est traitée de manière appropriée.

else
{
    Console.WriteLine("That's a long word.");
}
else
{
    Console.WriteLine("That's a long word.");
}

Maintenant, Layla exécute le programme (5:15) et saisit quelques mots à classer en utilisant les déclarations conditionnelles et les opérateurs de comparaison ci-dessus :

Csharp Switch Case 1 related to Utilisation des opérateurs de comparaison dans les instructions logiques conditionnelles

Opérateurs logiques

Opérateurs logiques &&, ||, ! permettent de combiner plusieurs conditions en C# pour créer une logique de prise de décision plus complexe. Layla, à 6:24, explique comment ces opérateurs fonctionnent ensemble pour créer des instructions conditionnelles.

Dans sa vidéo, Layla Porter présente un mini-jeu dans lequel l'utilisateur doit identifier le mot le plus étrange d'une liste d'animaux : "chien", "chat" et "poisson rouge" Le poisson rouge est considéré comme l'intrus parce qu'il vit dans l'eau et n'est pas un mammifère. Layla (6:55) commence par demander à l'utilisateur d'entrer son choix en utilisant Console.ReadLine() et s'assure ensuite que la saisie est en minuscules en utilisant la méthode ToLower() pour éviter des problèmes de sensibilité à la casse lors de la comparaison de chaînes :

Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();
Console.WriteLine("Pick the odd one out - dog, cat, goldfish");
string oddOne = Console.ReadLine().ToLower();

Layla, à 7:32, explique l'utilisation des opérateurs de comparaison pour vérifier la saisie de l'utilisateur par rapport au système et à la liste prédéfinie d'animaux.

if (oddOne != "dog" && oddOne != "cat")
{
    Console.WriteLine("You chose the odd one out!");
}
if (oddOne != "dog" && oddOne != "cat")
{
    Console.WriteLine("You chose the odd one out!");
}

Le code utilise l'opérateur différent de (!=) pour vérifier si l'entrée ne correspond pas à "dog" et "cat". En combinant ces conditions avec l'opérateur logique AND (&&), le code garantit que les deux conditions doivent être vraies pour que l'énoncé soit satisfait. Si l'entrée n'est ni "chien" ni "chat", elle doit être "poisson rouge", et le programme affiche "Vous avez choisi l'intrus"

else
{
    Console.WriteLine("Better luck next time!");
}
else
{
    Console.WriteLine("Better luck next time!");
}

Si l'entrée de l'utilisateur ne remplit pas cette condition, ce qui signifie que l'entrée est soit "chien", soit "chat", le bloc else s'exécute et le programme sort "Plus de chance la prochaine fois !"

Csharp Switch Case 2 related to Opérateurs logiques

Layla (8:30) explique plus en détail l'importance de comprendre le fonctionnement des opérateurs logiques dans les instructions conditionnelles. L'opérateur AND (&&) nécessite que les deux conditions soient vraies, tandis que l'opérateur OR (||) ne requiert qu'une seule condition pour être vraie. Elle (9:05) démontre comment l'utilisation de ces opérateurs peut modifier le comportement du programme, en soulignant les nuances et les pièges potentiels lors de l'utilisation d'opérateurs logiques en C#. Cette explication aide les spectateurs à comprendre comment utiliser efficacement la logique conditionnelle dans leurs programmes.

Introduction aux énoncés de cas de commutation C

Les instructions Switch constituent un moyen alternatif de mettre en œuvre la prise de décision à plusieurs branches en C#, souvent plus lisible et plus efficace que plusieurs instructions if-else. En C#, 'case c' est utilisé pour spécifier des conditions au sein des instructions switch, garantissant que la comparaison opère sur des valeurs de même type.

Dans sa vidéo (12:38), Layla Porter passe d'une instruction if-else à une instruction switch pour déterminer la catégorie de longueur d'un mot donné. Elle explique que l'utilisation d'une instruction switch peut rendre le code plus propre et plus efficace.

L'extrait de code se présente comme suit :

switch (word.Length)
{
    case < 6:
        Console.WriteLine("That's a short word!");
        break;
    case int length when 6 <= length && length < 11:
        Console.WriteLine("That's a medium length word!");
        break;
    default:
        Console.WriteLine("That's a long word!");
        break;
}
switch (word.Length)
{
    case < 6:
        Console.WriteLine("That's a short word!");
        break;
    case int length when 6 <= length && length < 11:
        Console.WriteLine("That's a medium length word!");
        break;
    default:
        Console.WriteLine("That's a long word!");
        break;
}

Layla explique qu'une instruction switch est composée de plusieurs cas, chacun représentant une valeur ou une plage de valeurs possibles pour la variable évaluée. Dans ce cas, la variable est word.Length.

  1. Cas < 6 : le premier cas vérifie si la longueur du mot est inférieure à 6. Si cette condition est remplie, le programme affiche "That's a short word !" et utilise ensuite l'instruction break pour quitter le bloc de commutation. N'oubliez pas que le cas peut comporter plusieurs énoncés.

  2. Cas int length when 6 <= length && length < 11 : Le deuxième cas est plus complexe. Il utilise une fonctionnalité de correspondance de motifs introduite dans C# 7.0. Le cas est défini avec int length suivi d'une clause when qui précise des conditions supplémentaires : la longueur doit être supérieure ou égale à 6 et inférieure à 11. Si les motifs correspondent, le programme affiche "C'est un mot de longueur moyenne !" puis quitte le bloc switch.

  3. Défaut : Si aucun des cas précédents n'est satisfait, le cas par défaut est exécuté. Ceci agit comme l'énoncé else dans une structure if-else. Dans ce cas, le programme affiche "That's a long word !" et quitte le bloc de commutation.

Layla (15:45) souligne que l'utilisation d'une instruction switch au lieu d'une instruction if peut être bénéfique car elle rend le code plus lisible et plus facile à gérer, en particulier lorsqu'il s'agit de conditions multiples. En outre, elle mentionne que les instructions switch peuvent être plus efficaces car le compilateur C# les optimise différemment, ce qui rend leur exécution plus rapide.

Expressions de commutation (correspondance de motifs)

Les expressions Switch sont une nouvelle fonctionnalité de C# qui fournit une syntaxe plus concise pour les décisions simples basées sur la valeur. Dans la vidéo de Layla Porter, vers 16:25, elle présente une instruction de commutation moderne appelée "expression de commutation" ou "commutation de correspondance de motifs" en C#. Ce type d'instruction de commutation renvoie directement une valeur, ce qui rend le code plus concis et plus lisible.

Elle (vers 17:00) commence par montrer comment réécrire une instruction if-else en utilisant la syntaxe de l'expression switch. Au lieu d'effectuer des actions, l'expression switch attribue une valeur à une variable en fonction de conditions. Voici un exemple :

// Example of Switch Expression
string message = word.Length switch
{
    < 6 => "That's a short word!",
    < 11 and >= 6 => "That's a medium length word!",
    _ => "That's a long length word!"
};

Console.WriteLine(message);
// Example of Switch Expression
string message = word.Length switch
{
    < 6 => "That's a short word!",
    < 11 and >= 6 => "That's a medium length word!",
    _ => "That's a long length word!"
};

Console.WriteLine(message);

Voici ce que Layla (17:31) explique à propos du code ci-dessus :

  1. String message = word.Length switch : Initialise une variable chaîne de caractères message et commence une expression switch basée sur word.Length.

  2. < 6 => "C'est un mot court !" : Si word.Length est inférieur à 6, il retourne "C'est un mot court !" en utilisant l'opérateur inférieur à <.

  3. < 11 et >= 6 => "C'est un mot de longueur moyenne !" : Si word.Length est compris entre 6 et 10 inclus, il retourne "C'est un mot de longueur moyenne !" en utilisant and pour la lisibilité.

  4. _ => "That's a long length word !" : Le trait de soulignement sert de cas par défaut et renvoie "That's a long length word !" si aucune des conditions précédentes n'est remplie.

Layla souligne que cette syntaxe fait partie des fonctionnalités modernes de C# conçues pour améliorer la lisibilité et l'efficacité. L'expression switch est préférée aux instructions if-else traditionnelles pour traiter plusieurs conditions de manière concise.

Elle exécute le code à 19:30 et le résultat est le même que pour if-else :

Csharp Switch Case 3 related to Expressions de commutation (correspondance de motifs)

Conclusion

La vidéo de Layla Porter fournit une base solide aux débutants en programmation C#, en abordant des concepts essentiels tels que les opérateurs, les instructions conditionnelles et les instructions switch. En suivant ses explications et ses exemples, les débutants peuvent acquérir des connaissances pratiques sur la façon de manipuler les données et de contrôler efficacement le flux du programme en C#.

En comprenant ces concepts fondamentaux et en s'exerçant à l'aide des exemples fournis, les nouveaux venus au C# peuvent construire une base solide pour des tâches de programmation plus complexes. Découvrez d'autres vidéos sur le C# sur sa Chaîne YouTube.

Hero Worlddot related to Cas du commutateur C#
Hero Affiliate related to Cas du commutateur C#

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi