Verzweigte Arrays in Visual Basic
Aktualisiert: November 2007
Ein Array, dessen sämtliche Elemente ebenfalls Arrays sind, wird als Array von Arrays oder als verzweigtes Array bezeichnet. Ein Array mit Arrays als Elementen ist nicht gleichbedeutend mit einem mehrdimensionalen Array. Mehrdimensionale Arrays enthalten mehrere Indizes.
Bedeutung von "verzweigt"
In einigen Fällen ist die Datenstruktur in einer Anwendung zweidimensional, jedoch nicht rechteckig. In einem Array von Monaten könnte beispielsweise jedes Element ein Array von Tagen sein. Da die einzelnen Monate eine unterschiedliche Anzahl von Tagen haben, bilden die Elemente kein rechteckiges zweidimensionales Array. In einem solchen Fall können Sie ein verzweigtes Array anstelle eines mehrdimensionalen Arrays verwenden.
Beispiel
Im folgenden Beispiel wird eine Arrayvariable deklariert, die ein Array von Arrays enthalten soll, dessen Elemente zum Double-Datentyp (Visual Basic) gehören. Jedes Element des Arrays sales ist selbst ein Array, das einen Monat darstellt. Jedes Monatsarray enthält Werte für jeden Tag dieses Monats.
Dim sales()() As Double = New Double(11)() {}
Dim month As Integer
Dim days As Integer
For month = 0 To 11
days = DateTime.DaysInMonth(Year(Now), month + 1)
sales(month) = New Double(days - 1) {}
Next month
Mit der New-Klausel in der sales-Deklaration wird die Arrayvariable auf ein Array mit zwölf Elementen festgelegt. Jedes Element dieses Arrays gehört zum Double()-Datentyp, es handelt sich also um ein Array mit Double-Elementen. Die For-Schleife bestimmt dann, wie viele Tage jeder Monat des Jahres (Year(Now)) enthält, und legt das entsprechende Element in sales auf ein Double-Array der entsprechenden Länge fest.
Im vorhergehenden Beispiel speichert das verzweigte Array im Vergleich zu einem zweidimensionalen Array sieben Elemente (für ein Schaltjahr sechs). In einem extremeren Fall kann der so eingesparte Speicherplatz durchaus relevant sein.
Siehe auch
Aufgaben
Gewusst wie: Deklarieren einer Arrayvariablen
Gewusst wie: Erstellen eines Arrays von Arrays
Gewusst wie: Initialisieren eines verzweigten Arrays
Konzepte
Übersicht über Arrays in Visual Basic
Arraydimensionen in Visual Basic
Mehrdimensionale Arrays in Visual Basic
Arraydatentypen in Visual Basic
Schreiben von CLS-kompatiblem Code