Operador [] (Referencia de C#)
Actualización: noviembre 2007
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 (Guía de programación de C#):
// 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, vea las secciones siguientes de Especificación del lenguaje C#.
1.6.7.5 Operadores
7.2 Operadores
Vea también
Conceptos
Referencia
Matrices (Guía de programación de C#)
Indizadores (Guía de programación de C#)
fixed (Instrucción, Referencia de C#)