Manchmal können wir die Größe des Arrays bei der Verwendung nicht abschätzen, daher ist es leicht, an dynamische Arrays zu denken, bei denen die Größe des Arrays während der Verwendung dynamisch geändert wird. Dies lässt sich leicht in VB umsetzen. Lassen Sie uns dies anhand eines konkreten Beispiels erklären:
Das Definieren eines dynamischen Arrays in VB umfasst normalerweise zwei Schritte:
(1) Verwenden Sie Dim, Private oder Public, um ein Array ohne Indizes in der Formularebene oder im Standardmodul zu deklarieren (die Klammern dürfen nicht weggelassen werden).
(2) Verwenden Sie die ReDim-Anweisung, um im Prozess ein Array mit Indizes zu definieren
Die Funktion der ReDim-Anweisung besteht darin, die Größe des Arrays neu zu bestimmen. Es weist Speicherplatz zu, wenn das Programm die ReDim-Anweisung ausführt.
Format: ReDim(Array-Name)(Index)[As(Typ)]
Funktion: Größe und Speicherplatz des dynamischen Arrays ändern.
veranschaulichen:
(1) Der Index kann eine Konstante oder eine Variable mit einem bestimmten Wert sein.
(2) Die Bedeutung jedes Parameters in der Anweisung ist dieselbe wie bei der Anweisung, die Dim zum Definieren eines Arrays verwendet.
(3) Die ReDim-Anweisung kann nur für dynamische Arrays verwendet werden. Sie kann die Größe jeder Dimension ändern, nicht jedoch die Anzahl der Dimensionen.
(4) Beim Kompilieren des Programms werden alle Arrays in der ReDim-Anweisung als dynamische Arrays deklariert. Wenn das Programm ausgeführt wird und die ReDim-Anweisung ausgeführt wird, werden dem Array die neuen oberen und unteren Grenzen neu zugewiesen, die Werte der Array-Elemente werden initialisiert und die Werte aller numerischen Elemente werden auf 0 gesetzt. und die String-Elemente werden auf leere Zeichenketten gesetzt.
(5) Die ReDim-Anweisung kann ein Array auf die gleiche Weise wie die Dim-Anweisung definieren. Im selben Programm kann die ReDim-Anweisung auch mehrfach verwendet werden. Bevor Sie die :ReDim-Anweisung verwenden, um das Array neu zu definieren, können Sie die :Erase-Anweisung verwenden, um das ursprüngliche Array zu löschen.
Beispiel:
Dimaa()AsLong' definiert ein dynamisches Array
Redimaa(10)'Passen Sie die Größe dynamischer Arrays an
dim i als Ganzzahl
für i=1 bis 10
aa(i) = i
nächste
Redim aa(5) 'Größe erneut ändern
...Andere Operationen