inohilog

/var/log/inohiro.log

C# 3.0 の「var」を使う意味

Visual Studio 2008 が少し前にRTM になりましたが、C# のバージョンも3.0 になりました。いろいろ機能拡張されたわけですが、その辺の解説はよく参考にさせてもらっている未確認C++さんのところの「C# 3.0 の新機能」を参照してください。コード主体で解説されていてとても勉強になります。

var

で、「var」なんですよ。C# 3.0 ではJavaScript みたいに変数の型を「var」と書いて省略(?)することが出来るようになりました。型はコンパイラが判断してくれる、いわゆる「型推論」とか「暗黙的型付け」というやつです。(参考:型推論 - Wikipedia


しかし個人的には「C# は型と強く結びついた言語」という考えがあるので、VS2k8 を使っていますが、あまり積極的に「var」を使おうとしていません。var が無いと不便!という状態に直面していないからかもしれませんが、今のところvar が無くてもどうにかなってる感じです。C#に詳しい友達(MVP)に「var を使うと型が分からなくなったりしない?」と聞いたところ「IntelliSence 使えば問題なくて、コードを印刷して読むことはあまりない」と言うことでした。


ということで、var を有効に使ってやるにはどうすれば良いかなぁと頭の中にちょっとあったのですが、コミュニティでお会いしたこともあるR・田中一郎さんにブログに面白い記事が。


とくに(4)は「var を使えるところは使う理由」について。あとはGushwellさんの

も参考になりますね。


var かー。。。別にアンチvar というわけではありませんが、自分が

for ( int i=0; ...

for ( var i=0; ...

と書くようになるのはほど遠そう。。。

追記

LINQ なコードを本格的に書くようになればvar は多用するかもしれません。LINQ to XML をやろうと思っててやってないことに気づいたので。。。