Compartir a través de


Operador [] (Referencia de C#)

Los corchetes ([]) se utilizan para matrices, indizadores y atributos. También se pueden utilizar con punteros.

Comentarios

Un tipo de matriz es un tipo seguido de []:

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

Para obtener acceso a un elemento de la matriz, el índice del elemento deseado se encierra entre corchetes:

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

Se produce una excepción si el índice de la matriz está fuera del intervalo declarado.

El operador de indización de la matriz no se puede sobrecargar; no obstante, los tipos pueden definir indizadores y propiedades que aceptan uno o varios parámetros. Los parámetros de indizador van entre corchetes, como los índices de matriz, pero en los primeros se puede declarar cualquier tipo de parámetro, mientras que los índices de matriz deben ser de tipo integral.

Por ejemplo, .NET Framework define un tipo Hashtable que asocia claves y valores de tipo arbitrario:

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

Los corchetes también se utilizan para especificar Atributos (C# y Visual Basic):

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

Puede utilizar los corchetes para indizar fuera de un puntero:

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];
    }
}

No obstante, tenga en cuenta que no se realiza una comprobación de los límites del índice.

Especificación del lenguaje C#

Para obtener más información, consulte la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Vea también

Referencia

operadores de C#

Matrices (Guía de programación de C#)

Indizadores (Guía de programación de C#)

unsafe (Referencia de C#)

fixed (Instrucción, Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#