Typisierte Arrays
Aktualisiert: November 2007
Ein typisiertes Array ist ein Datentyp, der Variablen, Konstanten, Funktionen und Parameter mit Anmerkungen ausstatten kann, als sei es ein systeminterner Datentyp. Jedes typisierte Array hat einen Basisdatentyp, und jedes Element des Arrays hat diesen Basistyp. Der Basistyp kann selbst ein Arraytyp sein und somit Arrays von Arrays ermöglichen.
Verwenden von typisierten Arrays
Ein Datentyp, der von eckigen Klammern gefolgt wird, definiert ein eindimensionales typisiertes Array. Um ein n-dimensionales Array zu definieren, wird der Basisdatentyp von eckigen Klammern mit n-1 Kommas zwischen diesen Klammern gefolgt.
Für eine Variable vom Typ eines typisierten Arrays wird anfangs kein Speicher reserviert, und der Anfangswert ist undefined. Eine Arrayvariable kann mithilfe des new-Operators, eines Arrayliterals, eines Arraykonstruktors oder eines anderen Arrays initialisiert werden. Die Initialisierung kann beim Deklarieren der Variablen des typisierten Arrays oder zu einem späteren Zeitpunkt durchgeführt werden, wie dies bei Variablen anderen Typs der Fall ist. Ein Typenkonfliktfehler tritt auf, wenn die Anzahl der Dimensionen einer Variablen oder eines Parameters nicht mit der Anzahl der Dimensionen oder mit dem Typ desjenigen Arrays übereinstimmt, das der Variablen zugewiesen oder an den Parameter übergeben wurde.
Mithilfe eines Arraykonstruktors kann ein Array vom angegebenen systemeigenen Typ mit der angegebenen (festen) Größe erstellt werden. Jedes Argument muss ein Ausdruck sein, der als nicht negative ganze Zahl ausgewertet wird. Der Wert des jeweiligen Arguments bestimmt die Größe des Arrays in der jeweiligen Dimension. Die Anzahl der Argumente bestimmt die Anzahl der Dimensionen des Arrays.
Im Folgenden werden einige einfache Arraydeklarationen aufgeführt:
// 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.;