Dichiarare variabili locali tipizzate in modo implicito
Il compilatore C# funziona in background 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à, denominate variabili locali tipizzate in modo implicito.
Quali sono le variabili locali tipizzate in modo implicito?
Una variabile locale tipizzata in modo implicito viene creata usando la var parola chiave seguita da un'inizializzazione variabile. Per esempio:
var message = "Hello world!";
In questo esempio è stata creata una variabile stringa usando la var parola chiave anziché la string parola chiave .
La var parola chiave indica al compilatore C# che il tipo di dati è implicito nel valore assegnato. Dopo che il tipo è implicito, la variabile funziona come se il tipo di dati effettivo fosse stato usato per dichiararlo. 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 la finalità e considera ogni istanza di message come istanza di di tipo string.
Infatti, la message variabile viene tipizzata come e string non può mai essere modificata. Si consideri ad esempio il codice seguente:
var message = "Hello World!";
message = 10.703m;
Se si esegue questo codice, verrà visualizzato il messaggio di errore seguente.
CS0029: Cannot implicitly convert type 'decimal' to 'string'
Annotazioni
Altri linguaggi di programmazione usano la var parola chiave in modo diverso. In C# alle variabili viene assegnato un tipo dal compilatore indipendentemente dal fatto che si usi il nome effettivo del tipo di dati o che il compilatore implichi il tipo di dati. In altre parole, il tipo è 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 var parola chiave devono essere inizializzate
È importante comprendere che la var parola chiave dipende dal valore usato per inizializzare la variabile. Se si tenta di usare la var parola chiave senza inizializzare la variabile, si riceverà un errore quando si tenta di compilare il codice.
var message;
Se si tenta di eseguire questo codice, durante la compilazione, verrà visualizzato l'output seguente:
CS0818: Implicitly-typed variables must be initialized
Perché usare la var parola chiave ?
La var parola chiave è stata ampiamente adottata nella community C#. È probabile che se si esamina un esempio di codice in un libro o online, verrà visualizzata la var parola chiave usata anziché il nome effettivo del tipo di dati, quindi è importante comprenderne l'utilizzo.
La var parola chiave ha un uso importante in C#. Molte volte, il tipo di una variabile è ovvio dall'inizializzazione. In questi casi, è più semplice usare la var parola chiave . La var parola chiave 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 var di 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 ha familiarità con il codice. L'uso del tipo di dati quando si dichiarano le variabili consente di scrivere il codice in modo intenzionale.
Riepilogo
Ecco quanto appreso finora sulla parola chiave var :
- La
varparola chiave indica al compilatore di dedurre il tipo di dati della variabile in base al valore in cui viene inizializzato. - È probabile che venga visualizzata la
varparola chiave mentre si legge il codice di altre persone. Tuttavia, è consigliabile usare il tipo di dati quando possibile.