Dichiara le variabili locali tipizzate in modo implicito

Completato

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.