我在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第一种或第二种行为打算用于哪种行为?您需要通过了解程序的逻辑来弄清楚。