首页 > 解决方案 > 等于或:字符串布尔值的比较运算符

问题描述

假设我有文本框,我想检查输入不是字符“a”或“b”,也不是整数。

我试过了

dim intCheck as Integer
if (not textbox1.text = "a" or "b" or intCheck) then
#mycode
End if

我不想添加多个 Else If 因为这只是一个示例,我有很多代码可能会覆盖并变成意大利面条代码

标签: .netvb.net

解决方案


如果你想要一个If声明,你可以使用这样的东西:

Dim value As String = TextBox1.Text
If value <> "a" AndAlso value <> "b" AndAlso Not Integer.TryParse(value, Nothing) Then
    ' Do something
End If

请参阅:Integer.TryParse 文档

这很有效,因为您只有两个值(“a”和“b”)要检查。如果您想检查更多值,您可能会发现String.Contains()orIEnumerable.Contains()方法很有帮助:

' Check if value is not "a" or "b" or "c" or d".
If Not "abcd".Contains(value) Then ' Do something.

' Check if value is not "a" or "b" or "test".
If Not { "a", "b", "test" }.Contains(value) Then ' Do something.

推荐阅读