Compartilhar via


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 a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

Operadores em C#

Matrizes (Guia de Programação em C#)

Indexadores (Guia de Programação em C#)

unsafe (Referência de C#)

Instrução fixed (Referência de C#)

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#