何と、C# 3.0 では、
暗黙的な型付け
が可能らしいです!(何を今さら・・・)
今までは、
int i = 5;
double d = 1.5;
string s = "Rさん";
と書いていた訳です。
しかし「5 で初期化しているんだから、i は int だと自動的に判断してもいいんじゃん」という声にお応えしたのかどうかはわかりませんが。
var i = 5;
var d = 1.5;
var s = "Rさん素敵";
これで上記と同じ結果になります。凄いことですね。
もちろん判断する元になるのは初期値なので、以下のように初期化をしない変数の場合には使えません。
var r;
これはエラーになります。
これは、便利と呼べるものなのでしょうか?
コンパイラが型を推定するという曖昧さを残すことによるデメリットに対して、var と書くだけで良いというメリット(メリットとさえ呼べないかも)くらいしか無いようにも思います。
結局 LINQ のための機能ってことなんでしょうかね。