Można to osiągnąć z zagnieżdżonych pętli
Uwaga: W przypadku korzystania z pętli For Each iteracyjne nad elementów w tablicy, symbol zastępczy generowane na każdej iteracji jest kopią wartości w rzeczywistym układzie. Zmiany tej wartości nie zostaną odzwierciedlone w oryginalnej tablicy. Jeśli chcesz zrobić coś innego niż odczytać informacje, musisz użyć pętli For do bezpośredniego adresowania elementów tablicy.
Przyjmując tablicę dwuwymiarową poniższy przykład kodu przypisze wartość do każdego elementu w każdym wymiarze.
Dim MasterIndex(5, 2) As String
For iOuter As Integer = MasterIndex.GetLowerBound(0) To MasterIndex.GetUpperBound(0)
'iOuter represents the first dimension
For iInner As Integer = MasterIndex.GetLowerBound(1) To MasterIndex.GetUpperBound(1)
'iInner represents the second dimension
MasterIndex(iOuter, iInner) = "This Isn't Nothing" 'Set the value
Next 'iInner
'If you are only interested in the first element you don't need the inner loop
MasterIndex(iOuter, 0) = "This is the first element in the second dimension"
Next 'iOuter
'MasterIndex is now filled completely
Można ewentualnie użyć właściwości .Rank
dynamicznie iteracyjne nad każdym wymiarze
Jeśli chcesz pętli nad postrzępionych tablicy jak Konrad Rudolph sugerował (Ten funkcjonalnie bardziej zbliżony do implementacji tablic w inny luźniej wpisywanych języki takie jak PHP) można przejść o nim tak:
'This is a jagged array (array of arrays) populated with three arrays each with three elements
Dim JaggedIndex()() As String = {
New String() {"1", "2", "3"},
New String() {"1", "2", "3"},
New String() {"1", "2", "3"}
}
For Each aOuter As String() In JaggedIndex
'If you are only interested in the first element you don't need the inner for each loop
Dim sDesiredValue As String = aOuter(0) 'This is the first element in the inner array (second dimension)
For Each sElement As String In aOuter
Dim sCatch As String = sElement 'Assign the value of each element in the inner array to sCatch
sElement = "This Won't Stick" 'This will only hold value within the context of this loop iteration
Next 'sElement
Next 'aOuter
'JaggedIndex is still the same as when it was declared
I aktualizowany w celu uwzględnienia zarówno przykłady dla bardziej szczegółowego wniosku – JoshHetland