Instructions Switch imbriquées
Fait partie de la section Logique & Flux du Journey C# de Coddy. Leçon 11 sur 66.
Les instructions switch imbriquées vous permettent de placer une instruction switch à l’intérieur d’une autre pour prendre des décisions plus complexes.
Créez un switch imbriqué simple :
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}Termine toujours chaque case par une instruction break, dans le switch interne comme dans le switch externe. C# ne permet pas à un case de passer au suivant, donc l’absence de break provoque une erreur de compilation.
N’oublie pas de garder ton code lisible en l’indentant correctement.
Défi
MoyenCrée une méthode appelée calculatePrice qui :
- Prend trois paramètres :
- productType (chaîne) : soit "Electronics", "Clothing" ou "Food"
- productTier (chaîne) : soit "Basic", "Premium" ou "Luxury"
- basePrice (int) : le prix de départ du produit
- Renvoie le prix final (int) après application des règles suivantes :
- Pour Electronics :
- Basic : ajoute 50 $ au prix de base
- Premium : ajoute 100 $ au prix de base
- Luxury : ajoute 250 $ au prix de base
- Pour Clothing :
- Basic : ajoute 10 $ au prix de base
- Premium : ajoute 50 $ au prix de base
- Luxury : ajoute 100 $ au prix de base
- Pour Food :
- Basic : ne modifie pas le prix de base
- Premium : ajoute 15 $ au prix de base
- Luxury : ajoute 30 $ au prix de base
- Pour tout autre type de produit ou niveau, renvoie le prix de base sans le modifier
- Pour Electronics :
Essayez vous-même
public class CalculatePrice
{
// Implémentez la méthode calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Écrivez votre code ici
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null SafetyEntraînez-vous par vous-même : Compilateur C# en ligne