TOC

This article has been localized into Italian by the community.

Operatori:

Operatori di incremento/decremento

Quando si lavora con i valori, in particolare con i tipi numerici, sia avrà spesso bisogno di aggiungere o sottrarre 1. Questo è chiaramente molto semplice da fare: si prende il valore, si aggiunge 1 e lo si riassegna alla variabile originale. Ecco un esempio:

int userAge = 41; 
userAge = userAge + 1;

La variabile userAge ora contiene il valore 42 invece di 41. Facile! Lo stesso se si vuole sottrarre 1.

userAge = userAge - 1; 

Incremento/decremento suffisso

Tuttavia, C# ha un operatore più breve che si occupa di questo: l'operatore di incremento/decremento. Si tratta semplicemente di due segni più (++) o due segni meno (--), l'uno di seguito all'altro (senza spazi). Ecco il primo esempio riscritto con questo operatore:

int userAge = 41; 
userAge++;
Console.WriteLine("Age of user: " + userAge);

Il risultato è esattamente lo stesso, ma vedete come è più corto! E possiamo addirittura accorciarlo, perché questo operatore si può usare all'interno di una dichiarazione esistente:

int userAge = 41; 
Console.WriteLine("Age of user: " + userAge++);

Ma aspettate un minuto. Quando lo testiamo, vediamo che userAge è ancora mostrato come 41. Perché? Perché stiamo usando la versione suffisso, che viene valutata DOPO la dichiarazione circostante. In altre parole, la linea è stampata prima che il valore venga incrementato. Questo è il comportamento che si vuole in alcuni casi, ma non è ottimale per questo specifico caso. Ciò di cui abbiamo bisogno è l'operatore di incremento prefisso.

Incremento/decremento prefisso

Questo operatore appare esattamente come la versione suffisso, ma anziché essere posto dopo la variabile, viene posto prima, indicando al compilatore di valutare l'istruzione prima della dichiarazione circostante:

int userAge = 41; 
Console.WriteLine("Age of user: " + ++userAge);

Così si avrà l'effetto desiderato, dove userAge viene incrementato prima che la linea venga mostrata. Ora, si può essere confusi dall'avere tre segni più di seguito, ma il primo è per la concatenazione di stringhe, mentre gli ultimi due sono l'operatore vero e proprio. Se si preferisce, si può inserire l'istruzione di incremento tra parentesi per chiarire che è un'unica istruzione:

Console.WriteLine("Age of user: " + (++userAge)); 

Sta a noi decidere, funziona esattamente allo stesso modo!

E naturalmente, si può usare l'operatore di decremento esattamente allo stesso modo illustrato sopra. Ecco la versione suffisso:

int userAge = 41; 
Console.WriteLine("Age of user: " + (userAge--));

E la versione prefisso:

int userAge = 41; 
Console.WriteLine("Age of user: " + (--userAge));

Riepilogo

Dunque questi erano gli operatori di incremento e decremento. Sono ottimi per uno specifico caso d'uso: quando si vuole incrementare o decrementare un valore di 1. Nel prossimo capitolo, osserveremo l'operatore di addizione, che somiglia molto a questo, ma ha un utilizzo leggermente più ampio.

Come per altri operatori in C#, questo ricade sotto il termine "sintassi addolcita": la stessa operazione può essere eseguita senza questo specifico operatore, ma usandolo il codice risulta abbreviato. Che diventi più leggibile è molto soggettivo. Ad alcune persone piace, mentre altri sentono che il codice è più leggibile e comprensibile senza. Sta a noi decidere!


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!