C# continue 直接跳過本次迴圈剩餘程式碼,進入下一次迭代。VB.NET 在 2005 (VB 9.0, .NET 2.0) **之前** 缺乏此關鍵字,需用邏輯反轉或 GoTo 模擬。
int sum = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 2 != 0) continue; // 跳過奇數
sum += i; // 只累加偶數
}
Dim sum As Integer = 0
For i As Integer = 1 To 100
If (i Mod 2 = 0) Then ' 反轉條件:符合才執行
sum += i
End If
Next
Dim sum As Integer = 0
For i As Integer = 1 To 100
If (i Mod 2 <> 0) Then
GoTo ContinueLabel ' 跳至迴圈尾部
End If
sum += i
ContinueLabel:
Next
For i As Integer = 1 To 100
If (i Mod 2 = 0) Then
' 整個邏輯縮進一層
sum += i
End If
Next
Continue ForDim sum As Integer = 0
For i As Integer = 1 To 100
If i Mod 2 <> 0 Then Continue For ' 直接跳過本次
sum += i
Next
' 同樣支援 Continue Do / Continue While
Dim ii As Integer = 1
Do While ii < 100
ii += 1
If ii = 50 Then Continue Do
Console.WriteLine(ii)
Loop
Continue For 編譯為無條件分支 br.s 指向迴圈增量/條件檢查區塊,與 C# continue 產生的 IL **完全等價**。
GoTo,提升可讀性。Continue For/Do/While,語意清晰、效能相同。continue 轉為 VB Continue For。Exit For vs Continue For| 關鍵字 | 行為 | C# 對應 |
|---|---|---|
Continue For | 跳過本次,執行下一次迭代 | continue |
Exit For | 完全跳出迴圈 | break |
理解版本演進與替代模式,能在跨語言維護、代碼審查、遷移專案時做出正確判斷。