Visual Basic-Fehler: Index außerhalb des gültigen Bereichs

March 25

Visual Basic-Fehler: Index außerhalb des gültigen Bereichs

Ein Array ist ein Objekt in Visual Basic verwendet, um eine Reihe von Werten zu speichern, die eine logische Beziehung haben. Arrays unterscheiden sich von skalaren Variablen, die zu einem Zeitpunkt nur einen Wert enthalten können. Im Gegensatz dazu kann ein Array mindestens eine Reihe von Werten, genannt Dimensionen aufnehmen. Jedes Array hat mindestens eine Dimension, und jede Dimension hat einen gültigen Wertebereich. Wenn Sie versuchen, ein Element außerhalb dieses Bereichs zuzugreifen, löst Ihr Programm einen Fehler "Index außerhalb des gültigen Bereichs".

Array verweisen auf

Arraydimensionen sind bestellt und werden mit einem Index oder tiefgestellte Zahl bezeichnet. Das erste Element einer Dimension ist immer nummerierte NULL, und jedes nachfolgende Element ist größer. Angenommen, Sie erstellen, ein Array von Studenten--"Studenten (-)"--in einer Klasse mit sechs Studenten: Andrea, Frank, Richard, Rachel, Melissa und Kacie. Sie weisen und Array-Elemente von ihren Index oder tiefgestellte Zahl abrufen. Um das erste Element Andrea zuzuweisen, würde der Code lesen:

Students(0) = "Andrea"

Sie lesen aus einem Array durch Angabe des Indexes zu. Wenn Sie ein Meldungsfeld mit der letzte Schüler in der Liste anzeigen wollte, würde beispielsweise Code lesen:

MsgBox students(5)

Runtime Error

Visual Basic ist eine kompilierte Sprache. Schreiben Sie Code, die erfolgreich kompiliert, aber versucht das Schreiben oder Lesen aus einem Arrayelement außerhalb der unteren und oberen Grenzen definiert. Zur Laufzeit wird dies dazu führen, dass Ihr Programm eine Ausnahme ausgelöst und zeigt die Fehlermeldung "Index außerhalb des gültigen Bereichs." Beseitigen Sie dieses Problem, indem Sie vergrößern oder Verkleinern der Begrenzungen des Arrays nach Bedarf.

Dim und der ReDim

Sie verwenden Visual Basic "Dim"-Anweisung, um Dimensionen und Begrenzungen des Arrays zu deklarieren. In seiner einfachsten Form ist die "Dim"-Anweisungssyntax:

Dim ArrayName(subscript) as Datentyp.

"ArrayName" ist der Name für das Array, und der Datentyp kann jeden gültigen skalare Variable Typ sein. Wenn Sie einen Index für das Array angeben, ist ein fester Wert und können nicht verändert werden. Wenn Sie einen Wert zwischen die Klammern weglassen, berücksichtigt Visual Basic deklarierte Array dynamisch sein. Dynamische Arrays können jederzeit mit der Anweisung "ReDim" geändert werden.

Überlegungen zur

"" Der ReDim-Anweisung kann verkleinern oder vergrößern ein dynamisches Arrays. Jedoch, sofern Sie das Schlüsselwort optionale "preserve," alle Array, die Werte auf ihren Standardwert, leeren Wert zurückgesetzt werden. Arrays von Ganzzahlen werden jedes Element, z. B. auf NULL gesetzt haben.

Sie können ein Array iterativ vergrößern, irgendeine Art von Schleifen-Algorithmus und einem Zähler mit. Die Anweisung "ReDim" kann Kombinationen von skalaren Variablen und numerische Konstanten als Argumente nehmen. So können Sie von einem bei jedem Durchlauf die Zählervariable vergrößern.

Sie können die oberen und unteren Grenzen eines Arrays mit den Befehlen "GetLowerBoundGetUpperBound" und "GetLowerBound" testen. Sie können aus Bereichsausnahmen verringern, indem Sie testen diese Grenzen vor dem Lesen aus und Schreiben auf ein Arrayelement.