C# - Istruzioni principali
Commenti
• Esempi di commenti:
// Commento di una riga.
/* Commento
anche di
più righe. */
• Scorciatoie:
- Per commentare: Ctrl+K Ctrl+C.
- Per decommentare: Ctrl+k Ctrl+U.
Costanti
• Esempio di definizione di una costante:
const double PI = 3.14159;
Operatori di assegnazione composti
• È possibile combinare un operatore aritmetico con l'operatore di assegnazione:
var = var + number --> var += number
var = var - number --> var -= number
var = var * number --> var *= number
var = var / number --> var /= number
var = var % number --> var %= number
• È possibile concatenare stringhe allo stesso modo:
string1 = string1 + string2 --> string1 += string2
Istruzioni 'if' e 'switch'
• Istruzione 'if' semplice.
• L'espressione booleana deve essere racchiusa tra parentesi tonde:
if (booleanExpression)
statement-1;
else
statement-2;
• Istruzione 'if' con più statement.
• Se c'è più di uno statement, essi devono essere racchiusi tra parentesi graffe:
if (booleanExpression)
{
statement-1;
statement-2;
}
else
{
statement-3;
statement-4;
}
• Istruzione 'if' a catena.
if (booleanExpression)
statement-1;
else if (booleanExpression)
statement-2;
else if (booleanExpression)
statement-3;
else
statement-4;
• Istruzione 'if' in forma compatta.
variabile = (condizione) ? valore_se_True : valore_se_False
// Esempio
string verifica = (numero > 10) ? "è maggiore " : "è minore o uguale";
Console.WriteLine("Il numero {0} di 10.", verifica)
• Istruzione 'switch'.
• L'espressione di controllo, viene verificata una sola volta. Se il risultato coincide con una delle espressioni costanti, vengono eseguite le istruzioni corrispondenti fino al break. L'istruzione 'break' è obbligatoria in ogni 'case'.
• Se nessuna espressione costante coincide, vengono eseguite le istruzioni nell'etichetta 'default' (che è opzionale).
• Due o più 'case' possono essere raggruppati.
• Diversamente dal C++, sono eseguite le istruzioni di un solo 'case' per volta.
• È comunque possibile utilizzare anche il comando 'goto case x' che rimanda il codice all'interno di un altro 'case'.
switch (controlExpression)
{
case constantExpression:
statement-1;
break;
case constantExpression:
statement-2;
break;
...
default:
statement-n;
break;
}
Istruzioni 'while', 'for' e 'do'
• Istruzione 'while'.
• Finché l'espressione booleana rimane vera, vengono eseguite le istruzioni racchiuse tra parentesi graffe (non necessarie nel caso di un'unica istruzione):
• L'istruzione 'break' permette di uscire immediatamente dal ciclo.
• L'istruzione 'continue' interrompe le istruzioni e sposta il punto di esecuzione al controllo dell'espressione booleana.
while (booleanExpression)
{
statement;
}
• Istruzione 'for'.
• L'istruzione 'for' è divisa in tre parti, racchiuse tra parentesi tonde e separate da punti e virgola.
• Nella prima parte sono presenti una o più istruzioni che inizializzano una o più variabili.
• Nella seconda parte c'è l'espressione booleana, finché risulta vera vengono eseguite le istruzioni racchiuse tra parentesi graffe.
• Nella terza parte sono presenti una o più istruzioni che aggiornano le variabili di controllo.
• L'ordine di esecuzione è quindi: (parte 1) inizializzazione -> (parte 2) controllo espressione booleana -> esecuzione istruzioni -> (parte 3) aggiornamento variabili -> (parte 2) controllo espressione booleana -> esecuzione istruzioni -> (parte 3) aggiornamento variabili -> eccetera.
for (initialization; booleanExpression; update control variable)
{
statement;
}
• Istruzione 'do'.
• Lo statement (o gli statement racchiusi tra parentesi graffe) viene eseguito almeno una volta. Poi viene valutata l'espressione di controllo e se è vera, lo statement viene eseguito nuovamente.
do
statement;
while (booleanExpression)
• Interruzione dei loop:
- break: il loop viene terminato immediatamente.
- continue: il ciclo corrente viene terminato immediatamente e l'esecuzione continua con il successivo ciclo di loop.
- goto: l'esecuzione passa alla label indicata.
- return: il loop e la funzione che lo conteneva vengono terminati immediatamente.
Operazioni tra bit
• Shift a destra: operatore >>
Esempio 00001101 >> 2 = 00000011 cioè 13 >> 2 = 3
• Shift a sinistra: operatore <<
Esempio 00001101 << 2 = 000110100 cioè 13 << 2 = 52
• OR: operatore |
Esempio 11110000 | 11000011 = 11110011 cioè 240 | 195 = 243
• AND: operatore &
Esempio 11110000 & 11000011 = 11000000 cioè 240 & 195 = 192
• XOR: operatore ^
Esempio 11110000 ^ 11000011 = 00110011 cioè 240 ^ 195 = 51
• NOT: operatore ~
Esempio ~11110000 = 00001111 cioè ~240 = -241 (non dà 15 a causa della rappresentazione interna dei numeri in complemento a 2)