'如果'声明没有返回它的意思

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声明?

sep*_*p2k 5

cond1 Or cond2 Or ... Or condn当且仅当至少一个给定条件为真时才为真.在你的情况下,至少有一个条件是真实的(事实上至少有两个条件在每种情况下都是真的).例如,如果textSample是,"D"则条件Not textSample = "E"和条件Not textSample = "F"将为真.所以整个条件都是真的.

长话短说:使用And而不是Or.