C#3.0(Visual Studio 2008)からはvarを用いた暗黙的な型宣言を行う事ができます。
例えば、以下のような例
string text = "Sample";
では text の型は = の右辺を見ると 文字列型(string)である事は明白なので、 var を使って
var text = "Sample";
と書くことができます。
一番、使い勝手の良い使い方は、クラスを new する時に、
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
と書いていたところを var を用いると
var sw = new System.Diagnostics.Stopwatch();
となります。
他にも
List<string> a = new List<string>();
が var だと
var a = new List<string>();
となります。
逆に使えないのは、
var a; // これはエラーになる
のように = で初期化されていないと、 var 単独では型がわからないためエラーとなります。
他にもクラスのフィールドでは用いる事ができず、メソッド内のローカル変数のみの対応となります。
class Test
{
var a = "Sample"; // エラー
public Test()
{
var b = "Sample"; // OK
}
}
← C#2.0からの脱却 へ戻る