Gewusst wie: Initialisieren eines verzweigten Arrays

Aktualisiert: November 2007

Wenn Sie eine verzweigte Arrayvariable initialisieren, können Sie die Dimensionslängen nur für das Array der obersten Ebene angeben. Dazu stehen Ihnen mehrere Methoden zur Verfügung:

So initialisieren Sie eine verzweigte Arrayvariable

  • Geben Sie in der Arrayvariablendeklaration die Obergrenze für den Index der obersten Ebene im ersten Paar runder Klammern angeben. Trennen Sie dabei die Werte durch Kommas voneinander. Im folgenden Beispiel wird eine Variable deklariert und erstellt, in der ein verzweigtes Array von Byte-Elementen abgelegt werden soll. Es wird nur die Obergrenze der obersten Ebene angegeben.

    Dim rainfall(11)() As Byte
    

    Nach der Ausführung dieser Anweisung enthält das Array in der Variablen rainfall 12 Elemente, die jeweils ein leeres Array von Byte-Elementen darstellen.

    - oder -

  • Geben Sie in der New-Klausel die Obergrenze für den Index der obersten Ebene im ersten Paar runder Klammern durch leere geschweifte Klammern ({}) an. Im folgenden Beispiel wird eine Variable deklariert und erstellt, in der ein verzweigtes Array von Short-Elementen abgelegt werden soll. Es wird nur die Obergrenze der obersten Ebene angegeben.

    Dim snowfall()() As Short = New Short(11)() {}
    

    Nach der Ausführung dieser Anweisung enthält das Array in der Variablen snowfall 12 Elemente, die jeweils ein leeres Array von Short-Elementen darstellen.

    Hinweis:

    Sie können die Obergrenze des Index der obersten Ebene nur an einer Stelle initialisieren. Wenn Sie die Obergrenze in den runden Klammern nach dem Arrayvariablennamen angeben, können Sie keine New-Klausel verwenden. Wenn Sie die Obergrenze in den runden Klammern innerhalb der New-Klausel angeben, müssen Sie die runden Klammern nach dem Variablennamen leer lassen.

    - oder -

  • Geben Sie in der New-Klausel die Obergrenze für den Index der obersten Ebene innerhalb der runden Klammern an, wobei Sie die Elementwerte innerhalb der geschweiften Klammern ({}) vorgeben. Im folgenden Beispiel wird eine Variable deklariert, erstellt und initialisiert, in der ein verzweigtes Array von Char-Elementen abgelegt werden soll. Es werden die Obergrenze der obersten Ebene und die Werte angegeben. Beachten Sie die verschachtelten New-Klauseln zur Initialisierung der Arrays der untersten Ebene.

    Dim decodeValues()() As Char = New Char(1)() {New Char() {"a"c, "b"c}, New Char() {"p"c, "q"c}}
    

    Nach der Ausführung dieser Anweisung enthält das Array in der Variablen decodeValues zwei Elemente, bei denen es sich jeweils um ein Char-Array der Länge 1 handelt, dessen Element an der Indexposition 0 einen initialisierten Wert enthält. Wenn Sie sowohl die Obergrenze für die oberste Ebene als auch die Werte vorgeben, müssen Sie für jedes Element der obersten Ebene von der Indexposition 0 bis zur Obergrenze einen Wert angeben.

    - oder -

  • Lassen Sie in der New-Klausel die runden Klammern für die oberste Ebene weg, und geben Sie die Elementwerte innerhalb der geschweiften Klammern ({}) an. Im folgenden Beispiel wird eine Variable, in der ein verzweigtes Array von Byte-Elementen abgelegt werden soll, deklariert, erstellt und initialisiert. Dabei werden nur die Elementwerte angegeben. Beachten Sie die zwei Ebenen von geschweiften Klammern in der New-Klausel.

    Dim firstValues()() As Byte = {New Byte() {2, 1}, New Byte() {3, 0}}
    

    Nach der Ausführung dieser Anweisung hat das Array in der Variablen firstValues die Länge 2 und enthält die Elemente firstValues(0) und firstValues(1). Die beiden Elemente werden jeweils mit einem zwei Elemente umfassenden Byte-Array initialisiert. Dabei enthält das erste Array die Elementwerte 2 und 1 und das zweite die Elementwerte 3 und 0.

Siehe auch

Aufgaben

Gewusst wie: Deklarieren einer Arrayvariablen

Gewusst wie: Erstellen eines Arrays von Arrays

Gewusst wie: Initialisieren einer Arrayvariablen

Gewusst wie: Initialisieren eines mehrdimensionalen Arrays

Problembehandlung bei Arrays

Konzepte

Verzweigte Arrays in Visual Basic

Schreiben von CLS-kompatiblem Code

Referenz

New (Visual Basic)

Weitere Ressourcen

Arrays in Visual Basic