配列 (C# プログラミング ガイド)Arrays (C# Programming Guide)

配列データ構造体には、同じ型の複数の変数を格納できます。You can store multiple variables of the same type in an array data structure. 配列は、要素の型を指定することで宣言します。You declare an array by specifying the type of its elements. 配列に任意の型の要素を格納する場合は、その型として object を指定できます。If you want the array to store elements of any type, you can specify object as its type. C# の統一型システムでは、すべての型 (定義済み、ユーザー定義、参照型、および値型) が、直接または間接的に Object を継承します。In the unified type system of C#, all types, predefined and user-defined, reference types and value types, inherit directly or indirectly from Object.

type[] arrayName;

Example

次の例では、1 次元配列、多次元配列、およびジャグ配列を作成しています。The following example creates single-dimensional, multidimensional, and jagged arrays:

class TestArraysClass
{
    static void Main()
    {
        // Declare a single-dimensional array. 
        int[] array1 = new int[5];

        // Declare and set array element values.
        int[] array2 = new int[] { 1, 3, 5, 7, 9 };

        // Alternative syntax.
        int[] array3 = { 1, 2, 3, 4, 5, 6 };

        // Declare a two dimensional array.
        int[,] multiDimensionalArray1 = new int[2, 3];

        // Declare and set array element values.
        int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };

        // Declare a jagged array.
        int[][] jaggedArray = new int[6][];

        // Set the values of the first array in the jagged array structure.
        jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
    }
}

配列の概要Array overview

配列には、次の特徴があります。An array has the following properties:

  • 配列は、1 次元配列多次元配列、またはジャグ配列のいずれかになります。An array can be Single-Dimensional, Multidimensional or Jagged.
  • 次元数と各次元の長さは、配列インスタンスの作成時に設定されます。The number of dimensions and the length of each dimension are established when the array instance is created. インスタンスの有効期間中にこれらの値を変更することはできません。These values can't be changed during the lifetime of the instance.
  • 数値配列要素の既定値はゼロに設定され、参照要素は null に設定されます。The default values of numeric array elements are set to zero, and reference elements are set to null.
  • ジャグ配列は配列の配列です。そのため、配列要素は参照型で、null に初期化されます。A jagged array is an array of arrays, and therefore its elements are reference types and are initialized to null.
  • 配列には、ゼロから始まるインデックスが付けられます。n 個の要素を含む配列には、0 から n-1 までのインデックスが付けられます。Arrays are zero indexed: an array with n elements is indexed from 0 to n-1.
  • 配列の要素および配列型は、どのような型でもかまいません。Array elements can be of any type, including an array type.
  • 配列型は、抽象基本型 Array から派生した参照型です。Array types are reference types derived from the abstract base type Array. この型は IEnumerableIEnumerable<T> を実装するので、C# のすべての配列で foreach 反復処理を使用できます。Since this type implements IEnumerable and IEnumerable<T>, you can use foreach iteration on all arrays in C#.

C# 言語仕様C# language specification

詳細については、「C# 言語の仕様」を参照してください。For more information, see the C# Language Specification. 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。The language specification is the definitive source for C# syntax and usage.

関連項目See also