[] 연산자(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];

배열 인덱스가 범위를 벗어나면 예외가 throw됩니다.

배열 인덱싱 연산자는 오버로드할 수 없지만 형식을 사용하면 하나 이상의 매개 변수를 가지는 인덱서와 속성을 정의할 수 있습니다. 인덱서 매개 변수는 배열 인덱스처럼 대괄호로 묶지만 배열 인덱스가 정수 계열이어야 하는 것과 달리 인덱서 매개 변수는 형식에 관계없이 선언할 수 있습니다.

예를 들어, .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# 참조