Le istruzioni 'If..else' sono usate per eseguire dei blocchi di codice diversi in base alla valutazione di una condizione booleana. l'istruzione else è opzionale.
Sintassi
if (condizione)
{
istruzioni;
}
else
{
istruzioni;
}
Esempio
using System; namespace Sample
{ public class Sample
{ public static void Main()
{ int a = 3; if (a == 10)
Console.WriteLine("a = 10"); else
Console.WriteLine("a != 10");
}
}
}
L'istruzione If può essere emulata usando l'operatore condizionale che restituisce un valore in base al risultato di una espressione booleana ad esempio
int i = (x==1) ? 1 : 0 ;
imposta i ad 1 se x è 1, altrimenti lo imposta a 0.
switch
'Switch' fornisce un metodo per eseguire delle istruzioni di tipo if-else multiple.
Sintassi
switch (espressione)
{ case valore1:
istruzioni;
[break; | goto case k; | goto default;] case valore2:
istruzioni;
[break; | goto case k; | goto default;]
[...] default
istruzioni; break;
}
Esempio
using System; namespace Sample
{ public class Sample
{ public static void Main()
{ int x = 1; switch(x)
{ case 0:
Console.WriteLine("x = 0"); break; case 1:
Console.WriteLine("x = 1"); break; default:
Console.WriteLine("altro"); break;
}
}
}
}
Ogni case, compreso quello 'default', può avere o meno del codice associato. Se c'è del codice associato, questo deve terminare con una delle seguenti istruzioni:
break;
goto case k; (dove k è uno dei cases specificati)
goto default;
break
Consente di scire da un ciclo 'while', 'for' o 'switch'
Vediamo un esempio:
using System; namespace Sample
{ public class Sample
{ public static void Main()
{ int a = 0; while (true)
{
Console.WriteLine(a);
a++; if (a == 5) break;
}
}
}
}
continue
Sposta controllo alla successiva iterazione del ciclo.
using System; namespace Sample
{ public class Sample
{ public static void Main()
{ for (int i=1; i<=20; i++)
{ if (i == 10) //non stampo il valore 10 continue;
Console.WriteLine(i);
}
}
}
}