Share via


Gewusst wie: Erstellen eines Arrays mit unterschiedlichen Elementtypen

Aktualisiert: November 2007

Wenn Sie nur einen Datentyp für ein Array deklarieren, müssen alle Arrayelemente zu diesem Datentyp gehören. Normalerweise ist diese Einschränkung wünschenswert, da alle Elemente eng miteinander in Beziehung stehen und ähnliche Werttypen enthalten. Gelegentlich kann es jedoch vorkommen, dass die Elemente nicht eng miteinander in Beziehung stehen oder nicht über ähnliche Werte verfügen. In diesem Fall können Sie die Arrayelemente als Object-Datentyp deklarieren. Die einzelnen Elemente können dann auf verschiedene Arten von Daten verweisen, etwa Zahlen, Zeichen, Zeichenfolgen, Objekte oder andere Arrays.

So erstellen Sie ein Array mit Elementen unterschiedlicher Datentypen

  • Deklarieren Sie das Array als Object. Im folgenden Beispiel wird eine Variable deklariert, die ein Array von Object-Elementen enthalten soll. Dann wird das Array erstellt und der Variablen zugewiesen.

    Dim mixedTypes As Object() = New Object() {}
    

    Denken Sie beim Einsatz des Datentyps Object daran, dass die Leistung nicht so hoch ist wie bei Verwendung eines spezifischeren Datentyps. Der Grund hierfür liegt darin, dass die Daten zur Laufzeit mithilfe von Operationen, die als Boxing und Unboxing bezeichnet werden, von ihrem natürlichen Datentyp in Object und umgekehrt wieder in ihren natürlichen Datentyp konvertiert werden müssen. Diese zusätzlichen Operationen können die Leistung beeinträchtigen, wenn sie häufig ausgeführt werden.

So greifen Sie in einem Array auf Elemente unterschiedlicher Datentypen zu

  • Lesen oder erstellen Sie die Elemente wie üblich. Sie können Elemente beliebiger Datentypen in Object-Arrays speichern und daraus abrufen.

    Im folgenden Beispiel wird veranschaulicht, wie Daten unterschiedlichen Typs in ein Object-Array eingefügt werden. Mitarbeiterdaten werden innerhalb des Arrays in der Variablen employeeData abgelegt.

    Dim employeeData(3) As Object
    employeeData(0) = "Alex Hankin"
    employeeData(1) = "4242 Maple Street"
    employeeData(2) = 48
    employeeData(3) = #8/23/1956#
    

    Wenn Sie Daten unterschiedlichen Typs aus einem Object-Array abrufen möchten, können Sie das Element, wie im folgenden Beispiel gezeigt, in den entsprechenden Datentyp konvertieren.

    Dim age As Integer = CInt(employeeData(2))
    Dim birthDate as Date = CDate(employeeData(3))
    

In Fällen, in denen Elemente nicht miteinander in Beziehung stehen oder sich nicht ähneln, besteht auch die Möglichkeit, sie in einer Auflistung statt in einem Object-Array abzulegen. Weitere Informationen finden Sie unter Auflistungen als Alternative zu Arrays.

Siehe auch

Aufgaben

Gewusst wie: Deklarieren einer Arrayvariablen

Gewusst wie: Erstellen eines Arrays

Gewusst wie: Erstellen eines Arrays mit mehr als einer Dimension

Gewusst wie: Erstellen eines Arrays von Arrays

Gewusst wie: Erstellen eines Arrays ohne Elemente

Gewusst wie: Initialisieren einer Arrayvariablen

Problembehandlung bei Arrays

Konzepte

Übersicht über Arrays in Visual Basic

Auflistungen als Alternative zu Arrays

Weitere Ressourcen

Arrays in Visual Basic