选择案例问题

时间:2011-06-08 11:27:59

标签: .net vb.net

我有这段代码:

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'

如何完成这项任务?

4 个答案:

答案 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.