Dichiara le variabili locali tipizzate in modo implicito
Il compilatore C# funziona dietro le quinte per facilitare la scrittura del codice. Può dedurre il tipo di dati della variabile in base al valore inizializzato. In questa unità verranno fornite informazioni su questa funzionalità, nota come variabili locali tipizzate in modo implicito.
Che cosa sono le variabili locali tipizzate in modo implicito?
Viene creata una variabile locale tipizzata in modo implicito usando la parola chiave var
seguita da un'inizializzazione variabile. Ad esempio:
var message = "Hello world!";
In questo esempio è stata creata una variabile stringa usando la parola chiave var
anziché la parola chiave string
.
La parola chiave var
indica al compilatore C# che il tipo di dati è implicito nel valore assegnato. Dopo aver implicito il tipo, il processo è ugualmente valido quando viene usato il tipo di dati effettivo per dichiararli. La parola chiave var
viene usata per salvare le sequenze di tasti quando i tipi sono lunghi o quando il tipo è ovvio dal contesto.
Nell'esempio:
var message = "Hello world!";
Poiché la variabile message
viene immediatamente impostata sul string
valore "Hello World!"
, il compilatore C# riconosce l'intento e considera ogni istanza di message
come un'istanza di tipo string
.
In effetti, la variabile message
viene tipizzata come string
e non può mai essere modificata. Si consideri il codice di esempio seguente:
var message = "Hello World!";
message = 10.703m;
Se si esegue questo codice, verrà visualizzato il messaggio di errore seguente.
(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'
Nota
Altri linguaggi di programmazione usano la parola chiave var
in modo diverso. In C#, le variabili sono assegnate dal compilatore indipendentemente dal fatto che si usi il nome del tipo di dati effettivo o si consenta al compilatore di implicare il tipo di dati. In altre parole, il tipo viene bloccato al momento della dichiarazione e, pertanto, non sarà mai in grado di contenere valori di un tipo di dati diverso.
Le variabili che usano la parola chiave var
devono essere inizializzate
È importante comprendere che la parola chiave var
dipende dal valore usato per inizializzare la variabile. Se si tenta di usare la parola chiave var
senza inizializzare la variabile, si riceverà un errore quando si tenta di compilare il codice.
var message;
Se cerchi di eseguire questo codice, durante la compilazione verrà visualizzato l'output seguente:
(1,5): error CS0818: Implicitly-typed variables must be initialized
Perché usare la parola chiave var
?
La parola chiave var
è stata ampiamente adottata nella community C#. È probabile che se si esamina un esempio di codice in un libro o online, verrà visualizzata la parola chiave var
usata anziché il nome effettivo del tipo di dati, quindi è importante comprenderne l'utilizzo.
La parola chiave var
ha un uso importante in C#. Molte volte, il tipo di una variabile è ovvio dall'inizializzazione. In questi casi, è più semplice usare la parola chiave var
. La parola chiave var
può essere utile anche durante la pianificazione del codice per un'applicazione. Quando si inizia a sviluppare codice per un'attività, è possibile che non si conosca immediatamente il tipo di dati da usare. L'uso di var
consente di sviluppare la soluzione in modo più dinamico.
Quando si inizia, è consigliabile continuare a usare il nome effettivo del tipo di dati quando si dichiarano le variabili fino a quando non si ottiene maggiore familiarità con l'uso del codice. L'uso del tipo di dati quando si dichiarano le variabili consentirà di essere focalizzati durante la scrittura del codice.
Riepilogo
Ecco quanto appreso finora sulla parola chiave var
:
- La parola chiave
var
indica al compilatore di dedurre il tipo di dati della variabile in base al valore di inizializzazione. - È probabile che la parola chiave
var
sia visualizzata durante la lettura del codice di altre persone. Tuttavia, è consigliabile usare il tipo di dati quando possibile.