0 vb.net if-statement not-operator
我只是在失明,还是这种if说法真的不符合它的意图?
Dim textSample as String = "F"
If Not textSample = "D" Or Not textSample = "E" Or Not textSample = "F" Then
MessageBox.Show("False")
End If
Run Code Online (Sandbox Code Playgroud)
即使textSample是其中一个字母,也会显示消息框.在我看来,该if语句应该看到textSample是其中一个字母并跳过它,而如果它是Z,它将"Not"等于其中任何一个并因此显示消息框.
为什么它会进入if声明?
cond1 Or cond2 Or ... Or condn当且仅当至少一个给定条件为真时才为真.在你的情况下,至少有一个条件是真实的(事实上至少有两个条件在每种情况下都是真的).例如,如果textSample是,"D"则条件Not textSample = "E"和条件Not textSample = "F"将为真.所以整个条件都是真的.
长话短说:使用And而不是Or.