Continue ステートメント (Visual Basic)
ループの次の反復に直ちに制御を移します。
構文
Continue { Do | For | While }
Remarks
Do
、For
、または While
ループ内から、そのループの次の反復に移すことができます。 制御はすぐにループ条件テストに渡されます。これは、For
または While
ステートメントに移ったり、Until
または While
句が含まれている Do
または Loop
ステートメントに移ったりするのと同じです。
Continue
は、移動を許可するループ内の任意の場所で使用できます。 制御の移動を許可するルールは、GoTo ステートメントを使用する場合と同じです。
たとえば、ループが Try
ブロック、Catch
ブロック、または Finally
ブロック内に完全に含まれている場合は、Continue
を使用してループから移動できます。 一方、Try
...End Try
構造体がループ内に含まれている場合は、Continue
を使用して Finally
ブロックから制御を移すことはできません。これを使用して Try
または Catch
ブロックから移すことができるのは、Try
...End Try
構造体から完全に移す場合のみです。
同じ種類のループが入れ子になっている場合 (別の Do
ループ内の Do
ループなど)、Continue Do
ステートメントは、それが含まれている最も内側の Do
ループの次の反復にスキップします。 Continue
を使用して、同じ種類の含まれているループの次の反復にスキップすることはできません。
さまざまな種類のループが入れ子になっている場合 (For
ループ内の Do
ループなど)、Continue Do
または Continue For
のいずれかを使用して、いずれかのループの次の反復にスキップできます。
例
次のコード例では、除数が 0 の場合に、Continue While
ステートメントを使用して配列の次の列にスキップします。 Continue While
は For
ループ内にあります。 これにより While col < lastcol
ステートメントに移動します。これは、For
ループが含まれている最も内側の While
ループの次の反復です。
Dim row, col As Integer
Dim lastrow As Integer = 6
Dim lastcol As Integer = 10
Dim a(,) As Double = New Double(lastrow, lastcol) {}
Dim b(7) As Double
row = -1
While row < lastrow
row += 1
col = -1
While col < lastcol
col += 1
a(row, col) = 0
For i As Integer = 0 To b.GetUpperBound(0)
If b(i) = col Then
Continue While
Else
a(row, col) += (row + b(i)) / (col - b(i))
End If
Next i
End While
End While
関連項目
.NET