È una nuova parola chiave introdotta da .NET 3.5 per la dichiarazione di variabili cosiddette “implicite”. Utilizzando var
si dice al compilatore di determinare automaticamente (inferire, in gergo tecnico) il tipo della variabile in base al suo contenuto.
var i = 5; // i è di tipo Int32 var s = "Marco"; // s è di tipo String var b = true; // b è di tipo Boolean
È importante sottolineare che il tipo viene determinato a tempo di compilazione, quindi una variabile dichiarata con var
non può contenere oggetti di tipi diversi: in altre parole, una volta che il compilatore ha stabilito che la variabile i
del nostro esempio è di tipo Int32
, non è possibile assegnarli stringhe o valori booleani, altrimenti si ottiene un errore (che, ancora una volta, è generato a tempo di compilazione).
Tanto per precisare, var
non ha niente a che vedere con il Variant
di Visual Basic 6.
L’inferenza dei tipi introdotta con .NET 3.5, sebbene possa essere utilizzata anche altrove, è necessaria soprattutto per l’utilizzo di LINQ, che crea tipi anonimi partendo dall’analisi delle query e dei tipi di dato che deve restituire.
È possibile trovare un approfondimento sulle novità in C# 3.0 e su LINQ nel sito aspnet.html.it, oppure su MSDN.