jon*_*jon 2 vb.net syntax operators
这是一些"坏"代码:
Module test
Sub Main()
Console.WriteLine("1<2 = " + cstr((1<2)))
Console.WriteLine("2<1 = " + cstr((2<1)))
Console.WriteLine("1<2<3 = " + cstr((1<2<3)))
Console.WriteLine("3<2<1 = " + cstr((3<2<1)))
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
这个输出是:
1<2 = True
2<1 = False
1<2<3 = True
3<2<1 = True
Run Code Online (Sandbox Code Playgroud)
1<2<3 是正确的,但不是正确的理由.
3<2<1评估为True.为什么?
有人能解释一下这里发生了什么吗?
我知道我应该使用a<b and b<c但我想知道当你使用连续运算符时会发生什么.即,为什么编译器不哭!像这样的语法用于别的东西吗?