Arrays, auch Felder genannt, werden dazu verwendet, um gleichzeitig mehrere Daten (z.B. Datenbank, Aufzählung, ...) zu speichern.
Die Daten werden mit dem zugehörigen Datentyp deklariert, können sehr schnell abgerufen bzw. gespeichert und über einen numerischen Index aufgerufen werden.
Dieser Tipp beschäftigt sich mit der Deklaration.
Wie in VB6 gibt es verschiedene Arten der Deklarationen.
Unbekannte Anzahl von Elementen
Dim x() As String
ReDim x(2)
x(0) = "Visual"
x(1) = "Basic"
x(2) = ".AT"
MessageBox.Show(x(0) + x(1) + x(2))
|
|
| Mit Dim x() wird festgelegt, dass es sich um eine noch unbekannte Anzahl von Elementen handelt. Das Klammernpaar muß aber angegeben werden.
Ist dann die Anzahl bekannt, wird mittels ReDim x(2) eine Elementanzahl von Drei festgelegt, wobei dann die einzelnen Elemente gefüllt und ausgegeben werden.
Bekannte Anzahl von Elementen
Dim x(2) As String
x(0) = "Visual"
x(1) = "Basic"
x(2) = ".AT"
MessageBox.Show(x(0) + x(1) + x(2))
|
|
| So legen Sie die Anzahl der Elemente bei der Deklaration fest.
Bekannte Anzahl von Elementen und gleichzetige Initialisierung bei Deklaration
Dim x() As String = {"Visual", "Basic", ".AT"}
MessageBox.Show(x(0) + x(1) + x(2))
|
|
| Zu beachten ist hier, dass im Klammernpaar keine Anzahl angegeben werden darf.
Unterschied ein- bzw. mehrdimensionale Felder
In den vorigen Beispielen handelt es sich um eindimensionale Felder.
Im folgenden Codeteil wird ein Mehrdimensionales initialisiert.
Dim x(2, 3, 4) As String
x(0, 0, 0) = "Visual"
x(1, 0, 0) = "Basic"
x(2, 0, 0) = ".AT"
MessageBox.Show(x(0, 0, 0) + x(1, 0, 0) + x(2, 0, 0))
|
|
| Der erste Index weist drei, der zweite vier und der dritte fünf Elemente auf. Folgedessen hat das Feld 3*4*5=60 Elemente.
Feldgröße ändern, Inhalte der Elemente nicht beibehalten
Dim x(2) As String
x(0) = "Visual"
x(1) = "Basic"
x(2) = ".AT"
ReDim x(3)
x(3) = " - Homepage"
MessageBox.Show(x(0) + x(1) + x(2) + x(3))
|
|
| Mittels ReDim wird die Größe des Feldes geändert, aber auch die bereits gefüllten Inhalte gelöscht.
Deshalb wird nur der " - Homepage" ausgegeben.
Will man die Größe eines mehrdimensionalen Feldes ändern, darf nur der letzte Index verändert werden:Dim x(2, 3, 4) As String
ReDim x(2, 3, 5) as String
|
|
|
Feldgröße ändern, Inhalte der Elemente beibehalten
Dim x(2) As String
x(0) = "Visual"
x(1) = "Basic"
x(2) = ".AT"
ReDim Preserve x(3)
x(3) = " - Homepage"
MessageBox.Show(x(0) + x(1) + x(2) + x(3))
|
|
| Mittels dem Schlüsselwort Preserve wird der Inhalt behalten und von allen vier Elementen ausgegeben.
Will man die Größe eines mehrdimensionalen Feldes ändern, darf auch in diesem Fall nur der letzte Index verändert werden:Dim x(2, 3, 4) As String
ReDim Preserve x(2, 3, 5) as String
|
|
| |
|
dazugefügt am: 19.06.2004 | bereits betrachtet: 11680 mal |
| 2 Kommentare |
|
TOP |
|
| |