3.9 Arbeiten mit Arrays
 
Arrays, auf deutsch Felder oder Datenfelder, enthalten mehrere Variablen des gleichen Typs. Eine einzelne Variable sprechen Sie über die Indexposition an. VB.NET beginnt beim Zählen des Indexwertes stets bei 0. Die folgenden Codezeilen aus vb_10.aspx demonstrieren, wie Sie ein Array deklarieren, wie Sie Werte zuweisen und auslesen und wie Sie die Größe eines Arrays nachträglich ändern können.
Dim s As String
Dim i As Integer
Dim k As Integer
Dim zahlen(3) As Integer ' Ein Array mit 4 (vier)
' Werten deklarieren
' Werte zuweisen
zahlen (0) = 10
zahlen (1) = 66
zahlen (2) = -66
zahlen (3) = 0
k = 0
' GetUpperBound(0) liefert den höchsten Indexwert
' der ersten Dimension eines Arrays.
For i = 0 to zahlen.GetUpperBound(0)
k += zahlen(i)
Next
ausgabe.innerHTML = CStr(k) ' 10
' Array mit ReDim vergrößern.
' Preserve sorgt dafür, dass die bisherigen Werte
' erhalten bleiben.
ReDim Preserve zahlen(4)
zahlen (4) = 55
ausgabe.innerHTML &= " – " & CStr(zahlen(1)) ' 66
' Ohne Preserve werden die bisherigen Werte
' gelöscht.
ReDim zahlen(5)
ausgabe.innerHTML &= " – " & CStr(zahlen(1)) ' 0
' Array bereits bei der Deklaration initialisieren.
' Bei expliziter Initialisierung darf beim Array
' nicht die Anzahl der Werte angegeben werden.
' Diese ergibt sich aus der Menge der übergebenen
' Werte. Deswegen:
' Dim texte() ..., und nicht: Dim texte(2) ...
Dim texte() As String = {"ene", "mene", "muh"}
Auch Arrays sind Objekte. Alle Arrays stammen von der Klasse System.Array ab. Bei allen Arrays können Sie also auch die Eigenschaften und Methoden verwenden, über die System.Array verfügt.
Length ruft die Gesamtzahl aller Elemente in allen Dimensionen des Arrays ab. Mit BinarySearch durchsuchen Sie ein sortiertes eindimensionales Array . GetLength nennt die Anzahl der Elemente in einer einzelnen Dimension des Arrays. GetLowerBound nennt die untere Grenze und GetUpperBound die obere Grenze des Arrays. Mit der statischen Methode Reverse können Sie die Reihenfolge der Elemente in einem eindimensionalen Array umkehren. Mit Sort können Sie ein Array sortieren. Details zu diesen und weiteren Eigenschaften und Methoden finden Sie in der Dokumentation. Zur Illustration enthält vb_11.aspx einige Zeilen Code:
Dim s As String
Dim i As Integer
Dim zahlen(3) As Integer
zahlen (0) = 13
zahlen (1) = 66
zahlen (2) = 0
zahlen (3) = -4
Array.Sort (zahlen)
s = ""
For i = 0 to zahlen.GetUpperBound(0)
s &= zahlen(i) & " "
Next
ausgabe.innerHTML = s ' -4 0 13 66
Array.Reverse (zahlen)
s = ""
For i = 0 to zahlen.GetUpperBound(0)
s &= zahlen(i) & " "
Next
ausgabe.innerHTML &= "<br>" & s ' 66 13 0 -4
|