概要 Ver. 3.0 C# 3.0 では、var キーワードを用いて、暗黙的に型付けされたローカル変数を定義できるようになりました(型推論(type inference))。 型推論は便利な機能ではあるんですが、“いいことずくめ”なものではなく、少々副作用もあって、 その利用形態をめぐって軽い論争が起きたりもしています。 具体的にいうと、var の利用ポリシーとして、 以下のようなものが考えらていて、 どれがいいのかでもめています。 匿名型利用時など、どうしても必要なときだけ使う ↑に加え、右辺が new SomeClass() のようなときだけ var を使う int, string などの組み込み型に対しては使わない 使えるところでは全部使う “いいことずくめ”なんだったら「使えるところでは全部使う」でいいんですが、 最初に言ったように、少々副作用を伴うので、利用を制限した方がいいの
![[雑記] 型推論の是非(C# によるプログラミング入門)](https://cdn-ak-scissors.b.st-hatena.com/image/square/4d1b2b57fc676d21e7f59f354364abeac0ea062e/height=288;version=1;width=512/https%3A%2F%2Fufcpp.net%2Fimages%2Flogo_4.jpg)