Vb6选择案例(开关)枚举中案例a至b

グジョ*_*ンミン 2 vb6

我在vb6中看到了这种代码。

Private Enum enmMain
    STEP_INIT = 1
    STEP_RUN = 2
    STEP_SLEEP = 3
    STEP_SUSPEND = 4
    STEP_ERROR = 5
End Enum

Private mStep As enmMain

Select Case mStep
  Case Is <= enmMain.STEP_RUN
    'Do something
  Case enmMain.STEP_RUN To enmMain.STEP_ERROR 
    'Do something
Run Code Online (Sandbox Code Playgroud)

我不明白这一点:

Case enmMain.STEP_RUN To enmMain.STEP_ERROR
Run Code Online (Sandbox Code Playgroud)

如果遇到这种情况,它将满足以下条件:最新值为STEP_RUN,当前值为STEP_ERROR

它是如何工作的?我在手机上发帖不能写干净。

小智 5

这意味着case语句将满足所有mStep2到5之间的值(包括2和5)。

因此,代码不精确。因为该值STEP_RUN在包含性测试中两次出现(请参阅<=运算符)。STEP_RUN第一种或第二种行为打算用于哪种行为?您需要通过了解程序的逻辑来弄清楚。