我可以将几个值与“if”visual basic进行比较吗?
If TextDisplay.Text = {"/","*","+","-"} Then
End If
这是正确的方法吗?
答案 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
(您还需要检查空输入字符串)