C#プログラム

【C#3.0~】varによる暗黙的な型宣言

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からの脱却 へ戻る

コメント

タイトルとURLをコピーしました