Istruzioni switch annidate
Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 11 di 66.
Le istruzioni switch annidate ti permettono di inserire un’istruzione switch all’interno di un’altra per prendere decisioni più complesse.
Crea un’istruzione switch annidata di base:
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;
}Includi sempre le istruzioni break per evitare il passaggio al caso successivo.
Ricordati di mantenere il codice leggibile usando una corretta indentazione.
Sfida
MedioCrea un metodo chiamato calculatePrice che:
- Accetta tre parametri:
- productType (string): "Electronics", "Clothing" oppure "Food"
- productTier (string): "Basic", "Premium" oppure "Luxury"
- basePrice (int): il prezzo iniziale del prodotto
- Restituisce il prezzo finale (int) dopo aver applicato queste regole:
- Per Electronics:
- Basic: aggiungi $50 al prezzo base
- Premium: aggiungi $100 al prezzo base
- Luxury: aggiungi $250 al prezzo base
- Per Clothing:
- Basic: aggiungi $10 al prezzo base
- Premium: aggiungi $50 al prezzo base
- Luxury: aggiungi $100 al prezzo base
- Per Food:
- Basic: nessuna modifica al prezzo base
- Premium: aggiungi $15 al prezzo base
- Luxury: aggiungi $30 al prezzo base
- Per qualsiasi altro tipo o livello di prodotto, restituisci il prezzo base invariato
- Per Electronics:
Provalo tu
public class CalculatePrice
{
// Implementa il metodo calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Scrivi il tuo codice qui
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Fondamenti degli array 2DDichiarare e inizializzare array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DArray irregolariOperazioni comuni sulle matriciRipasso: array multidimensionali4Tecniche di controllo del flusso
Uscite anticipateClausole di guardiaIstruzioni di salto (goto)Break e continueAppiattire le condizioni annidate2Decisioni avanzate
Condizioni multipleLogica booleana complessaConfronto tra if e switchIstruzioni switch annidateRiepilogo - decisioni avanzate5Gestione delle eccezioni
Nozioni di base su try-catchTipi di eccezioneBlocchi catch multipliLavorare con i fileBlocco finallyUsing vs. try-finallyEccezioni personalizzateRiepilogo - gestione degli errori3Miglioramenti dei cicli
Prestazioni dei cicliIterare strutture complesseOgni tipo di cicloRifattorizzare i cicliRiepilogo - Cicli ottimizzati6Gestione dei valori null
Fondamenti dei riferimenti nullTipi valore nullableSchemi di controllo dei valori nullProgrammazione difensivaRiepilogo: sicurezza rispetto ai valori nullEsercitati da solo: Compilatore C# online