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 une prise de décision plus complexe.
Créez un switch imbriqué basique :
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;
}Incluez toujours des instructions break pour éviter le fall-through vers le case suivant.
N'oubliez pas de garder votre code lisible avec une indentation appropriée.
Défi
MoyenCréez une méthode appelée calculatePrice qui :
- Prend trois paramètres :
- productType (string) : Soit "Electronics", "Clothing" ou "Food"
- productTier (string) : Soit "Basic", "Premium" ou "Luxury"
- basePrice (int) : Le prix de départ du produit
- Retourne le prix final (int) après avoir appliqué ces règles :
- Pour Electronics :
- Basic : Ajouter $50 au prix de base
- Premium : Ajouter $100 au prix de base
- Luxury : Ajouter $250 au prix de base
- Pour Clothing :
- Basic : Ajouter $10 au prix de base
- Premium : Ajouter $50 au prix de base
- Luxury : Ajouter $100 au prix de base
- Pour Food :
- Basic : Aucun changement au prix de base
- Premium : Ajouter $15 au prix de base
- Luxury : Ajouter $30 au prix de base
- Pour tout autre type de produit ou niveau, retourner le prix de base inchangé
- Pour Electronics :
Aide-mémoire
Les instructions switch imbriquées vous permettent de placer une instruction switch à l'intérieur d'une autre pour une prise de décision complexe :
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;
}Incluez toujours des instructions break pour éviter le passage au case suivant et maintenir une indentation appropriée pour la lisibilité.
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 Safety