VB.Net巢狀迴圈

2019-10-16 23:02:13

VB.Net允許在另一個迴圈內使用一個迴圈,以下部分顯示了幾個例子來說明這個概念。

語法

VB.Net中巢狀的For迴圈語句的語法如下:

For counter1 [ As datatype1 ] = start1 To end1 [ Step step1 ]
    For counter2 [ As datatype2 ] = start2 To end2 [ Step step2 ]
    ...
    Next [ counter2 ]
Next [ counter 1]

VB.Net中巢狀的While迴圈語句的語法如下:

While condition1
    While condition2
    ...
    End While
End While

VB.Net中巢狀的Do ... While迴圈語句的語法如下:

Do { While | Until } condition1
    Do { While | Until } condition2
    ...
    Loop
Loop

關於迴圈巢狀的最後一個注意事項是,可以把任何型別的迴圈放在任何其他型別的迴圈中。 例如,for迴圈可以在while迴圈內,反之亦然。

範例

以下程式使用巢狀for迴圈來查詢從2100之間的素數:

Module loops
   Sub Main()
      ' local variable definition '
      Dim i, j As Integer
      For i = 2 To 100
          For j = 2 To i
              ' if factor found, not prime'
              If ((i Mod j) = 0) Then
                  Exit For
              End If
          Next j
          If (j > (i \ j)) Then
              Console.WriteLine("{0} is prime", i)
          End If
      Next i
      Console.ReadLine()
   End Sub
End Module

執行上面範例程式碼,得到以下結果 -

2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
29 is prime
31 is prime
37 is prime
41 is prime
43 is prime
47 is prime
53 is prime
59 is prime
61 is prime
67 is prime
71 is prime
73 is prime
79 is prime
83 is prime
89 is prime
97 is prime