Non mi piace per niente la keyword var che verra' inserita nel nuovo C# 3.0
Questa permette di definire variabili senza specificarne il tipo, una tecnica chiamata Type Inference:

var i = 5;
var name = "John";
var mytype = List<
float>;
var myret = function();

Ok, non e' weakly-typed come puo sembrare perche' il compilatore assegna il tipo a compile-time e non ci saranno problemi di performance a runtime.
Ma secondo me, diminuisce di brutto la leggibilita' del codice. E' vero posso sempre non usarla, ma quando mi arriva il codice di qualcun'altro da modificare?
E' anche vero che e' necessaria per supportare i tipi anonimi che verrano inseriti in C# e anche in LINQ (per esempio i valori di ritorno di una SELECT).

Ho pensato, almeno nel codice normale (non in LINQ) siccome il tipo e' assegnato a compile-time, perche' non fare un meccanismo del tipo: quando il compilatore compila la riga e assegna il tipo alla variabile, l'IDE sostituisce automaticamente la keyword var con il tipo associato.

Mah, non sono convinto, per adesso non mi piace, ma poi in futuro magari mi converto...

powered by IMHO 1.3