我有这段代码:
For each c as char in "Hello World"
Select Case c
Case "h"
DoSomething()
Case "e"
DoSomething()
End Select
Next
为什么我不能这样写:
Case "h" Or "e"
DoSomething()
它表示'Long'值无法转换为'Char'
如何完成这项任务?
答案 0 :(得分:8)
使用:
Select Case c
Case "h"
Case "e"
DoSomething()
End Select
或:
Select Case c
Case "h","e"
DoSomething()
End Select
答案 1 :(得分:3)
Case "h", "e"
DoSomething()
如果我记得我的VB(这是可疑的)
错误消息出现是由于它在两个字符串之间尝试按位“或”操作,这似乎很随机。
答案 2 :(得分:1)
For each c as char in "Hello World"
Select Case c.ToString 'When putting certain objects VB will true/false result of if the string is empty(false) or has text(true).
Case "h", "E"
DoSomething()
Case "e", "H"
DoSomethingElse()
End Select
Next
答案 3 :(得分:0)
案例尝试匹配 c ,但 c 是一个字符,而'h'或'e'是一个布尔表达式。但案例必须与声明的选择条件具有相同的类型 有关解决方案,请参阅Marek G.