Salve a tutti, può sembrare una domanda banale ma è da un pò che ho questo pallino in testa.
Quando usare Switch e quando If ?
Rileggendo dal mio libro mi viene semplicemente detto che lo switch è usato come alternativa all'If, guardando gli esempi capisco che può avere un aiuto di organizzazione, ma oltre a questo?
Leggendo online trovo articoli di velocità tra Switch e If, oltre a tanti pareri differenti, dalla
Docs FORSE ho trovato una risposta:
L'istruzione switch viene spesso usata come alternativa a un costrutto if-else se una singola espressione viene testata in base a tre o più condizioni.
Ne deduco che debba usare lo switch se ho tre o più condizioni da valutare per una singola espressione.(???)
Prima di pormi questo problema, usavo lo switch ogni qual volta ci fosse un controllo booleano ==, mentre l'if per espressioni più complesse.
Banalmente, mi sentivo più "pulito" a scrivere uno switch in questo modo piuttosto che usare un If.
Switch(x)
{
case 0:
x = 1;
break;
}
Questo perchè mi sembrava più corretto eseguire dei test booleani == tramite switch che per un certo senso è creato apposta, piuttosto che usare l'If che è dedicato ad espressioni più articolate.
È giusto usarlo in questo modo? c'è un modo "ufficiale" che possa seguire?
Grazie a tutti.