次の方法で共有


[] 演算子 (C# リファレンス)

更新 : 2007 年 11 月

角かっこ ([]) は、配列、インデクサ、および属性で使用します。角かっこは、ポインタでも使用できます。

解説

配列型は、型名の後に [] が続きます。

int[] fib; // fib is of type int[], "array of int".
fib = new int[100]; // Create a 100-element int array.

配列の要素にアクセスするには、目的の要素の添字を角かっこで囲みます。

fib[0] = fib[1] = 1;
for (int i = 2; i < 100; ++i) fib[i] = fib[i - 1] + fib[i - 2];

配列の添字が範囲外の場合は、例外がスローされます。

配列の添字演算子は、オーバーロードできません。ただし、型ではインデクサおよび 1 つ以上のパラメータをとるプロパティを定義できます。インデクサのパラメータは配列の添字と同じように角かっこで囲みますが、整数でなければならない配列の添字とは異なり、インデクサのパラメータは任意の型として宣言できます。

たとえば、.NET Framework では任意の型のキーと値を関連付ける Hashtable 型を定義しています。

System.Collections.Hashtable h = new System.Collections.Hashtable();
h["a"] = 123; // Note: using a string as the index.

角かっこは、属性 (C# プログラミング ガイド)を指定するためにも使用します。

// using System.Diagnostics;
[Conditional("DEBUG")] 
void TraceMethod() {}

角かっこを使用して、ポインタにインデックスを作成できます。

unsafe void M()
{
    int[] nums = {0,1,2,3,4,5};
    fixed ( int* p = nums )
    {
        p[0] = p[1] = 1;
        for( int i=2; i<100; ++i ) p[i] = p[i-1] + p[i-2];
    }
}

添字の範囲チェックは行われません。

C# 言語仕様

詳細については、「C# 言語仕様」の次のセクションを参照してください。

  • 1.6.7.5 演算子

  • 7.2 演算子

参照

概念

C# プログラミング ガイド

参照

C# の演算子

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

インデクサ (C# プログラミング ガイド)

unsafe (C# リファレンス)

fixed ステートメント (C# リファレンス)

その他の技術情報

C# リファレンス