Operador (referência de C#)
Colchetes ([]) são usados para arrays, os indexadores e atributos.Eles também podem ser usados como ponteiros.
Comentários
Um tipo de matriz é um tipo de 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.Parâmetros do indexador são colocados entre colchetes, assim como os índices da matriz, mas os parâmetros de indexador podem ser declarados para ser de qualquer tipo, ao contrário dos índices da matriz, que deve ser integrante.
Por exemplo, o.NET Framework define uma Hashtable que associa as chaves e valores do tipo arbitrário tipo:
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 (C# e Visual Basic):
// 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 Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.
Consulte também
Referência
Matrizes (guia de programação do C#)
Indexadores (guia de programação do C#)
Instrução fixed (referência de C#)