首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

VB 實現類似 C 語言 continue 的跳過本次循環邏輯

     編輯:C 語言問答

核心差異

C 語言 continue 直接跳過本次循環剩餘語句,進入下一次迭代。VB6/VBA 沒有 Continue 關鍵字(VB.NET 已引入 Continue For/Do/While)。

VB6/VBA 經典替代方案:GoTo 標籤

For i = 0 To 10
    If i = 0 Then
        GoTo NextIteration  ' 跳過 i=0 時的打印
    Else
        Debug.Print i
    End If
NextIteration:              ' 標籤位於 Next 語句之前
Next i
  • 標籤必須在同一過程(Sub/Function)內。
  • 標籤放在 Next / Loop / Wend 之前,確保直接進入下一次迭代。
  • 嵌套循環時,標籤名需唯一(如 NextIteration_Outer、NextIteration_Inner)。

結構化替代方案(推薦):條件反轉 + 塊結構

' 原始邏輯
For i = 0 To 10
    If i = 0 Then Continue ' 伪代码
    DoSomething(i)
Next

' 結構化寫法
For i = 0 To 10
    If i <> 0 Then          ' 反轉條件,將正常邏輯放入 If 塊
        DoSomething(i)
    End If
    ' 此處無代碼,自然進入 Next i
Next
  • 無 GoTo,可讀性強,符合結構化編程原則。
  • 適用於大多數「跳過特定條件」場景。

VB.NET (.NET Framework 2.0+) 原生支持

For i = 0 To 10
    If i = 0 Then Continue For
    Console.WriteLine(i)
Next

Do While condition
    If skipCondition Then Continue Do
    ' ...
Loop

總結

環境推薦方式備註
VB6 / VBA條件反轉 + If 塊首選,無 GoTo 風險
VB6 / VBA (複雜邏輯)GoTo 標籤標籤放在 Next/Loop 前,同一過程內
VB.NETContinue For/Do/While原生關鍵字,直接使用
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved