Arrays im allgemeinen Typsystem
Aktualisiert: November 2007
Ein Arraytyp wird definiert, indem Sie den Elementtyp des Arrays, den Rang (die Anzahl der Dimensionen) des Arrays sowie die oberen und unteren Grenzen jeder Dimension im Array festlegen. All diese Angaben sind in jeder Signatur eines Arraytyps enthalten, können jedoch als dynamisch (und nicht statisch) bereitgestellt gekennzeichnet sein. Da die exakten Arraytypen bei Bedarf automatisch von der Laufzeit erstellt werden, muss der Arraytyp nicht separat definiert werden. Arrays eines bestimmten Typs können nur Elemente dieses Typs enthalten. Weitere Informationen über den Typ eines Werts finden Sie unter Übersicht über das allgemeine Typsystem im Abschnitt "Werte und Objekte".
Die Werte eines Arraytyps sind Objekte. Arrayobjekte werden als eine Reihe von Speicherorten definiert, an denen Werte des Arrayelementtyps gespeichert sind. Die Anzahl der wiederholten Werte wird durch den Rang und die Grenzen des Arrays bestimmt.
Arraytypen erben vom System.Array-Typ. In dieser Klasse sind alle Arrays unabhängig vom Typ ihrer Elemente oder von ihrem Rang dargestellt. Für Arrays sind folgende Operationen definiert: Zuweisen eines Arrays basierend auf den Angaben zu Größe und Untergrenze; Indizieren eines Arrays zum Lesen und Schreiben von Werten; Berechnen der Speicheradresse eines Arrayelements (eines verwalteten Zeigers) und Abfragen von Rang, Grenzen und Gesamtanzahl der in einem Array gespeicherten Werte.
Der Typ eindimensionaler Arrays, deren Elemente über eine Untergrenze von 0 verfügen (auch Vektoren genannt), basiert auf dem Typ der im Array enthaltenen Elemente, und zwar unabhängig von der Obergrenze. Arrays mit mehreren Dimensionen bzw. mit einer Dimension, aber einer Untergrenze ungleich 0 verfügen über denselben Typ, sofern sie einen identischen Elementtyp und Rang aufweisen, und zwar unabhängig von der Untergrenze des Arrays. Arrays mit 0 Dimensionen werden nicht unterstützt.