Operador [] (referência C#)
Quadrado colchetes ([]) são usados para arrays, os indexadores e atributos. Eles também podem ser usados como ponteiros.
Comentários
Um tipo matriz é um tipo seguido por []:
int[] fib; // fib is of type int[], "array of int".
fib = new int[100]; // Create a 100-element int array.
Para acessar um elemento de um array, o índice do elemento desejado é delimitado por colchetes:
fib[0] = fib[1] = 1;
for (int i = 2; i < 100; ++i) fib[i] = fib[i - 1] + fib[i - 2];
Uma exceção é gerada se um índice do array estiver fora do intervalo.
O operador de indexação do array não pode ser sobrecarregado; no entanto, podem definir tipos indexadores, e propriedades que peguem um ou mais parâmetros.Indexador parâmetros são colocados entre colchetes, como índices da matriz, mas podem ser declarados indexador parâmetros de qualquer tipo, ao contrário dos índices da matriz, que deve ser integrante.
Por exemplo, o .NET estrutura define um Hashtable tipo que associa as chaves e valores do tipo arbitrário:
System.Collections.Hashtable h = new System.Collections.Hashtable();
h["a"] = 123; // Note: using a string as the index.
Colchetes também são usados para especificar Atributos (guia de programação C#):
// using System.Diagnostics;
[Conditional("DEBUG")]
void TraceMethod() {}
Você pode usar colchetes para indexar um ponteiro:
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];
}
}
Nenhuma verificação será executada.
Especificação da linguagem C#
Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:
1.6.7.5 Operadores
Operadores 7.2
Consulte também
Conceitos
Referência
Matrizes (Guia de programação do C#)
Indexadores (guia de programação C#)
Instrução fixa (referência C#)