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

配列インスタンスの型が、配列初期化子で指定された要素から推論される暗黙的に型指定された配列を作成できます。You can create an implicitly-typed array in which the type of the array instance is inferred from the elements specified in the array initializer. 暗黙的に型指定された変数の規則は、暗黙的に型指定された配列にも適用されます。The rules for any implicitly-typed variable also apply to implicitly-typed arrays. 詳細については、「暗黙的に型指定されるローカル変数」を参照してください。For more information, see Implicitly Typed Local Variables.

暗黙的に型指定された配列は通常、匿名型、オブジェクト、コレクション初期化子と共にクエリ式で使用されます。Implicitly-typed arrays are usually used in query expressions together with anonymous types and object and collection initializers.

次の例では、暗黙的に型指定された配列を作成する方法を示します。The following examples show how to create an implicitly-typed array:

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"}
        };
    }
}

前の例で、暗黙的に型指定された配列では、初期化ステートメントの左側では角かっこが使用されていないことに注意してください。In the previous example, notice that with implicitly-typed arrays, no square brackets are used on the left side of the initialization statement. また、ジャグ配列は、1 次元の配列と同じように new [] を使用して初期化されます。Note also that jagged arrays are initialized by using new [] just like single-dimension arrays.

オブジェクト初期化子で暗黙的に型指定された配列Implicitly-typed Arrays in Object Initializers

配列を含む匿名型を作成するときには、型のオブジェクトの初期化子で配列を暗黙的に型指定する必要があります。When you create an anonymous type that contains an array, the array must be implicitly typed in the type's object initializer. 次の例では、contacts は、匿名型の暗黙的に型指定された配列で、それぞれが PhoneNumbers という名前の配列を含んでいます。In the following example, contacts is an implicitly-typed array of anonymous types, each of which contains an array named PhoneNumbers. var キーワードは、オブジェクト初期化子内で使用されないことに注意してください。Note that the var keyword is not used inside the object initializers.

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

関連項目See Also

C# プログラミング ガイドC# Programming Guide
暗黙的に型指定されるローカル変数Implicitly Typed Local Variables
配列Arrays
匿名型Anonymous Types
オブジェクト初期化子とコレクション初期化子Object and Collection Initializers
varvar
LINQ クエリ式LINQ Query Expressions