如何评估文本到多个文本? VB

时间:2015-10-11 21:33:29

标签: .net vba if-statement

我可以将几个值与“if”visual basic进行比较吗?

If TextDisplay.Text = {"/","*","+","-"} Then

End If

这是正确的方法吗?

3 个答案:

答案 0 :(得分:3)

如果你只搜索字符而不是整个单词,那么字符串类已经有了所需的方法

If TextDisplay.Text.IndexOfAny(New Char() {"/"c,"*"c,"+"c,"-"c}) > -1 Then
    .....
End If

IndexOfAny返回与提供的列表匹配的第一个char的索引。 (所以你需要测试-1,因为零是一个有效的索引)

另请注意附加的字母c以表示char常量。

答案 1 :(得分:1)

我在Visual Basic中没那么好,但我想你需要Contains

Dim AllowedCharacters() As String = {"/", "*", "+", "-"}
If AllowedCharacters.Contains(TextDisplay.Text) Then
    'do something
End If

答案 2 :(得分:1)

看起来像一个计算器,所以假设您只想测试一个完全匹配的单个字符:

If ("/*+-".IndexOf(TextDisplay.Text) > 0) Then

或VBA:

If InStr(1, "/*+-", TextDisplay.Text) > 0 Then

(您还需要检查空输入字符串)