(我会用一个简单的例子,而不是我的原代码,不相关)枚举条件的行为: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