Оператор [] (Справочник по C#)
Обновлен: Ноябрь 2007
Квадратные скобки ([]) используются для массивов, индексаторов и атрибутов. Кроме того, они могут использоваться с указателями.
Заметки
Тип массива указывается перед оператором []:
int[] fib; // fib is of type int[], "array of int".
fib = new int[100]; // Create a 100-element int array.
Для доступа к элементу массива его индекс необходимо заключить в скобки:
fib[0] = fib[1] = 1;
for (int i = 2; i < 100; ++i) fib[i] = fib[i - 1] + fib[i - 2];
Если индекс массива выходит за границы диапазона, происходит вызов исключения.
Перегрузка оператора индексирования массива невозможна; однако типы могут определять индексаторы и свойства, принимающие один или более параметров. Параметры индексатора заключаются в квадратные скобки, как и индексы массива, но, в отличие от индексов массива, которые должны быть целочисленными, эти параметры могут быть любого типа.
Например, в платформе .NET Framework определен тип Hashtable, связывающий ключи и значения произвольного типа.
System.Collections.Hashtable h = new System.Collections.Hashtable();
h["a"] = 123; // Note: using a string as the index.
Также квадратные скобки используются для определения Атрибуты (Руководство по программированию на C#):
// using System.Diagnostics;
[Conditional("DEBUG")]
void TraceMethod() {}
Квадратные скобки можно использовать для создания индекса из указателя.
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];
}
}
Проверка границ не выполняется.
Спецификация языка C#
Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:
1.6.7.5 Операторы
7.2 Операторы
См. также
Основные понятия
Руководство по программированию в C#
Ссылки
Массивы (Руководство по программированию на C#)
Индексаторы (руководство по программированию в C#)
Оператор fixed (Справочник по C#)