(我會用一個簡單的例子,而不是我的原代碼,不相關)枚舉條件的行爲:enum_Var = STR1或者STR2
我想作一個If
聲明枚舉,與Or
。 Excel的VBA編輯建議使用這種語法:If current = Apple Or Peach Then
(下拉選擇,見下文)
嘛,好奇但爲什麼不。 我想通了,在測試該行爲不是一個期望:
Public Enum Fruit
Apple
Peach
Banana
End Enum
Public Sub pick()
Dim current As Fruit
current = Banana
If current = Apple Or Peach Then
'//The condition is True
MsgBox "Toc"
End If
End Sub
事實上,在這段代碼中,If
爲True。不,我不知道爲什麼:我認爲Peach
被評估爲一個整數左右,與0不同,它是一個true
。證明,如果在Enum Fruit
聲明中,Peach
被強制爲0,則它是False
。
Public Enum Fruit
Apple
Peach = 0
Banana
End Enum
Public Sub pick()
Dim current As Fruit
current = Banana
If current = Apple Or Peach Then
'//The condition is False this time
MsgBox "Toc"
End If
End Sub
我的問題(是的,不是很重要,對於理解):憑啥會編輯建議我此下拉列表,在上面的截圖?我覺得有什麼隱藏在那裏...
感謝您的回饋, 瓦倫丁。
編輯 我不是在尋找一種方式來寫這個條件(因爲它是安靜明顯If current = Apple Or current = Peach Then
)。我的問題與下拉列表建議有關。
寫,如果情況─「如果電流=蘋果或電流=桃然後」 – Unknown
@RamAnuragi呀,這個問題並沒有問題,「問題」是更多關於編輯器行爲與下拉列表建議。 –
如果Enum被設置爲位掩碼,那麼你可以將它們和在一起。這通常是在更大的VB6應用程序開發中完成的,這就是IDE爲什麼要這麼做的原因。 – RBarryYoung