Вот некоторый «плохой» код:
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
Вывод этого:
1<2 = True
2<1 = False
1<2<3 = True
3<2<1 = True
1<2<3
Истина, но не по правильным причинам.
3<2<1
также оценивается как True.Почему?
Может кто-нибудь объяснить, что здесь происходит?
Я знаю, что должен использовать a<b and b<c
, но я хочу знать, что происходит, когда вы используете последовательные операторы.то есть почему компилятор не плачет !!Используется ли подобный синтаксис для чего-то еще?