Operatore Switch

Confronta il valore di espressione con costanti in tutte le varianti case e passa il controllo all'operatore che corrisponde al valore dell' espressione. Ogni variante di case può essere contrassegnata con una costante intera, una costante letterale o un'espressione costante. L'espressione costante non può contenere variabili o chiamate di funzione. L' espressione dell'operatore switch deve essere di tipo integer – int oppure uint.

switch(expression)
  {
   case costante: operatori
   case costante: operatori
      ...
   default: oeratori
  }

Gli operatori contrassegnati dall'etichetta default vengono eseguiti se nessuna delle costanti nell'operatore case è uguale al valore dell'espressione. La variante default non deve essere necessariamente dichiarata e non deve essere necessariamente l'ultima. Se nessuna delle costanti corrisponde al valore dell' espressione e la variante default non è disponibile, non vengono eseguite azioni.

La parola chiave case con una costante sono solo etichette, e se gli operatori vengono eseguiti per una certa variante case, il programma esegue ulteriormente gli operatori di tutte le varianti successive fino a che non si verifica l'operatore break. Permette di collegare una sequenza di operatori con diverse varianti.

Un'espressione costante è calcolata in fase di compilazione. Non ci sono due costanti in un operatore switch che possono avere lo stesso valore.

Esempi:

//--- Primo esempio
switch(x)
  {
   case 'A':
      Print("CASE A");
      break;
   case 'B':
   case 'C':
      Print("CASE B or C");
      break;
   default:
      Print("NOT A, B or C");
      break;
  }
 
//---  Secondo esempio
   string res="";
   int i=0;
   switch(i)
     {
      case 1:
         res=i;break;
      default:
         res="default";break;
      case 2:
         res=i;break;
      case 3:
         res=i;break;
     }
   Print(res);
/*
   Result
   default
*/

Vedi anche

Inizializzazione delle Variabili, Visibilità Ambito e Durata delle Variabili, Creazione ed Eliminazione di Oggetti