ジャグ配列も1次元配列と同様for文・foreach文で列挙することができます。 ただし、foreach文でジャグ配列を列挙する場合は、多次元配列のように配列内の全要素が一つずつ列挙されるのではなく、単にジャグ配列の1段目に格納されている配列が列挙されます。 そのため、ジャグ配列内のすべての要素を列挙したい場合は、for文・foreach文ともに各段それぞれでfor文・foreach文を入れ子にしていくことで列挙する必要があります。

for・foreachで3段ジャグ配列を列挙する
Imports System

Class Sample
  Shared Sub Main()
    ' 3段のジャグ配列
    Dim doubleNested()()() As Integer = { _
      New Integer()() { _
        New Integer() {0, 1, 2}, _
        New Integer() {3, 4}, _
        New Integer() {5, 6, 7, 8} _
      }, _
      New Integer()() { _
        New Integer() {9, 10}, _
        New Integer() {11, 12, 13, 14} _
      }, _
      New Integer()() { _
        New Integer() {15, 16, 17}, _
        New Integer() {18}, _
        New Integer() {19, 20}, _
        New Integer() {21, 22} _
      } _
    }

    ' Forステートメントを使って列挙
    For n1 As Integer = 0 To doubleNested.Length - 1
      Console.Write("{ ")
      For n2 As Integer = 0 To doubleNested(n1).Length - 1
        Console.Write("( ")
        For n3 As Integer = 0 To doubleNested(n1)(n2).Length - 1
          Console.Write("{0}, ", doubleNested(n1)(n2)(n3))
        Next
        Console.Write("), ")
      Next
      Console.WriteLine("}, ")
    Next
    Console.WriteLine()

    ' For Eachステートメントを使って列挙
    For Each jagged As Integer()() In doubleNested
      Console.Write("{ ")
      For Each arr As Integer() In jagged
        Console.Write("( ")
        For Each elem As Integer In arr
          Console.Write("{0}, ", elem)
        Next
        Console.Write("), ")
      Next
      Console.WriteLine("), ")
    Next
    Console.WriteLine()
  End Sub
End Class
実行結果
{ ( 0, 1, 2, ), ( 3, 4, ), ( 5, 6, 7, 8, ), }, 
{ ( 9, 10, ), ( 11, 12, 13, 14, ), }, 
{ ( 15, 16, 17, ), ( 18, ), ( 19, 20, ), ( 21, 22, ), }, 

{ ( 0, 1, 2, ), ( 3, 4, ), ( 5, 6, 7, 8, ), }, 
{ ( 9, 10, ), ( 11, 12, 13, 14, ), }, 
{ ( 15, 16, 17, ), ( 18, ), ( 19, 20, ), ( 21, 22, ), },