Типизированные массивы
Типизированный массив — это тип данных, который может аннотировать переменные, константы, функции и параметры, как если бы они были встроенными типами данных. Каждый типизированный массив имеет базовый тип данных, каждый элемент массива относится к этому базовому типу. Сам по себе базовый тип может быть массивом, что позволяет иметь массивы массивов.
Использование типизированных массивов
Тип данных, за которым следует пара квадратных скобок, определяет одномерный типизированный массив. Чтобы определить n-мерный массив, за базовым типом данных следует пара квадратных скобок с n-1 запятыми между скобками.
Для переменной типа типизированного массива изначально не выделяется места для хранения, исходное значение — undefined. Для инициализации переменной массива используется оператор new, литерал массива, конструктор массива или другой массив. Инициализация может происходить при объявлении переменной типизированного массива или позднее, как для переменных других типов. Если размерность переменной или параметра не соответствует размерности (или типу) массива, присвоенного переменной или переданного параметру, возникнет ошибка несоответствия типов.
С помощью конструктора массивов можно создать массив заданного встроенного типа с указанным (фиксированным) размером. Каждый аргумент должен быть выражением, результатом которого является неотрицательное целое число. Значение каждого аргумента определяет размер массива в каждом измерении, число аргументов определяет число измерений массива.
В следующей таблице представлены объявления простых массивов.
// Simple array of strings; initially empty. The variable 'names' itself
// will be null until something is assigned to it
var names : String[];
// Create an array of 50 objects; the variable 'things' won't be null,
// but each element of the array will be until they are assigned values.
var things : Object[] = new Object[50];
// Put the current date and time in element 42.
things[42] = new Date();
// An array of arrays of integers; initially it is null.
var matrix : int[][];
// Initialize the array of arrays.
matrix = new (int[])[5];
// Initialize each array in the array of arrays.
for(var i = 0; i<5; i++)
matrix[i] = new int[5];
// Put some values into the matrix.
matrix[2][3] = 6;
matrix[2][4] = 7;
// A three-dimensional array
var multidim : double[,,] = new double[5,4,3];
// Put some values into the matrix.
multidim[1,3,0] = Math.PI*5.;