Freigeben über


Arrayabmessungen in Visual Basic

Eine Dimension ist eine Richtung, in der Sie die Spezifikation der Elemente eines Arrays variieren können. Ein Array, das den Gesamtumsatz für jeden Tag des Monats enthält, hat eine Dimension (den Tag des Monats). Ein Array, das den Gesamtumsatz nach Abteilung für jeden Tag des Monats enthält, hat zwei Dimensionen (die Abteilungsnummer und den Tag des Monats). Die Anzahl der Dimensionen, die ein Array hat, wird als Rang bezeichnet.

Hinweis

Mit der Rank Eigenschaft können Sie bestimmen, wie viele Dimensionen ein Array aufweist.

Arbeiten mit Dimensionen

Sie geben ein Element eines Arrays an, indem Sie einen Index oder ein Tiefgestellt für jede seiner Dimensionen angeben. Die Elemente werden entlang der einzelnen Dimensionen von Index 0 bis zum höchsten Index für diese Dimension zusammenhängend.

Die folgenden Abbildungen zeigen die konzeptionelle Struktur von Arrays mit unterschiedlichen Rangfolgen. Jedes Element in den Abbildungen zeigt die Indexwerte, die darauf zugreifen. Sie können beispielsweise auf das erste Element der zweiten Zeile des zweidimensionalen Arrays zugreifen, indem Sie Indizes (1, 0)angeben.

Diagramm, das eindimensionales Array zeigt.

Diagramm, das ein zweidimensionales Array zeigt.

Diagramm, das ein dreidimensionales Array zeigt.

Eine Dimension

Viele Arrays haben nur eine Dimension, z. B. die Anzahl der Personen jedes Alters. Die einzige Anforderung, ein Element anzugeben, ist das Alter, für das dieses Element die Anzahl enthält. Daher verwendet ein solches Array nur einen Index. Im folgenden Beispiel wird eine Variable deklariert, um ein eindimensionales Array von Alterszählungen zwischen 0 und 120 Jahren zu enthalten.

Dim ageCounts(120) As UInteger

Zwei Dimensionen

Einige Arrays weisen zwei Dimensionen auf, z. B. die Anzahl der Büros auf jeder Etage jedes Gebäudes auf einem Campus. Die Spezifikation eines Elements erfordert sowohl die Gebäudenummer als auch den Boden, und jedes Element enthält die Anzahl für diese Kombination aus Gebäude und Boden. Daher verwendet ein solches Array zwei Indizes. Im folgenden Beispiel wird eine Variable deklariert, die ein zweidimensionales Array von Büroanzahlen enthält, für Gebäude 0 bis 40 und Stockwerke 0 bis 5.

Dim officeCounts(40, 5) As Byte

Ein zweidimensionales Array wird auch als rechteckiges Array bezeichnet.

Drei Dimensionen

Einige Arrays weisen drei Dimensionen auf, z. B. Werte im dreidimensionalen Raum. Ein solches Array verwendet drei Indizes, die in diesem Fall die x-, y- und z-Koordinaten des physischen Raums darstellen. Im folgenden Beispiel wird eine Variable deklariert, um ein dreidimensionales Array von Lufttemperaturen an verschiedenen Punkten in einem dreidimensionalen Volumen zu halten.

Dim airTemperatures(99, 99, 24) As Single

Mehr als drei Dimensionen

Obwohl ein Array bis zu 32 Dimensionen haben kann, ist es selten, mehr als drei zu haben.

Hinweis

Wenn Sie einem Array Dimensionen hinzufügen, erhöht sich der gesamte Speicher, der für das Array benötigt wird, erheblich. Verwenden Sie daher multidimensionale Arrays mit Sorgfalt.

Verwenden unterschiedlicher Dimensionen

Angenommen, Sie möchten Verkaufsbeträge für jeden Tag des aktuellen Monats nachverfolgen. Sie können ein eindimensionales Array mit 31 Elementen deklarieren, eines für jeden Tag des Monats, wie das folgende Beispiel zeigt.

Dim salesAmounts(30) As Double

Angenommen, Sie möchten die gleichen Informationen nicht nur für jeden Tag eines Monats, sondern auch für jeden Monat des Jahres nachverfolgen. Sie können ein zweidimensionales Array mit 12 Zeilen (für die Monate) und 31 Spalten (für die Tage) deklarieren, wie das folgende Beispiel zeigt.

Dim salesAmounts(11, 30) As Double

Angenommen, Sie entscheiden sich dafür, dass Ihre Array-Halteinformationen für mehr als ein Jahr aufbewahrt werden sollen. Wenn Sie Verkaufsbeträge für 5 Jahre nachverfolgen möchten, können Sie ein dreidimensionales Array mit 5 Ebenen, 12 Zeilen und 31 Spalten deklarieren, wie das folgende Beispiel zeigt.

Dim salesAmounts(4, 11, 30) As Double

Beachten Sie, dass jeder Index, da jeder Index von 0 bis zu seinem Maximum variiert, jede Dimension salesAmounts als eine kleiner als die erforderliche Länge für diese Dimension deklariert wird. Beachten Sie auch, dass die Größe des Arrays bei jeder neuen Dimension zunimmt. Die drei Größen in den vorherigen Beispielen sind 31, 372 und 1.860 Elemente.

Hinweis

Sie können ein Array erstellen, ohne die Dim Anweisung oder die New Klausel zu verwenden. Sie können z. B. die CreateInstance Methode aufrufen, oder eine andere Komponente kann Ihren Code an ein array übergeben, das auf diese Weise erstellt wurde. Ein solches Array kann eine andere Untergrenze als 0 aufweisen. Sie können immer mithilfe der GetLowerBound Methode oder der LBound Funktion auf die untere Grenze einer Dimension testen.

Siehe auch