暗黙的に型指定される配列 (C# プログラミング ガイド)

配列インスタンスの型が、配列初期化子で指定された要素から推論される暗黙的に型指定された配列を作成できます。 暗黙的に型指定された変数の規則は、暗黙的に型指定された配列にも適用されます。 詳細については、「暗黙的に型指定されたローカル変数」を参照してください。

暗黙的に型指定された配列は通常、匿名型、オブジェクト、コレクション初期化子と共にクエリ式で使用されます。

次の例では、暗黙的に型指定された配列を作成する方法を示します。

class ImplicitlyTypedArraySample
{
    static void Main()
    {
        var a = new[] { 1, 10, 100, 1000 }; // int[]
        var b = new[] { "hello", null, "world" }; // string[]

        // single-dimension jagged array
        var c = new[]   
        {  
            new[]{1,2,3,4},
            new[]{5,6,7,8}
        };

        // jagged array of strings
        var d = new[]   
        {
            new[]{"Luca", "Mads", "Luke", "Dinesh"},
            new[]{"Karen", "Suma", "Frances"}
        };
    }
}

前の例で、暗黙的に型指定された配列では、初期化ステートメントの左側では角かっこが使用されていないことに注意してください。 また、ジャグ配列は、1 次元の配列と同じように new [] を使用して初期化されます。

オブジェクト初期化子で暗黙的に型指定された配列

配列を含む匿名型を作成するときには、型のオブジェクトの初期化子で配列を暗黙的に型指定する必要があります。 次の例では、contacts は、匿名型の暗黙的に型指定された配列で、それぞれが PhoneNumbers という名前の配列を含んでいます。 var キーワードは、オブジェクト初期化子内で使用されないことに注意してください。

var contacts = new[] 
{
    new {
            Name = " Eugene Zabokritski",
            PhoneNumbers = new[] { "206-555-0108", "425-555-0001" }
        },
    new {
            Name = " Hanying Feng",
            PhoneNumbers = new[] { "650-555-0199" }
        }
};

関連項目

C# プログラミング ガイド
暗黙的に型指定されるローカル変数
配列
匿名型
オブジェクト初期化子とコレクション初期化子
var
LINQ クエリ式