В VB6 выражение Null = Null
будет выдавать Null
вместо True
, как и следовало ожидать.
Это вызовет ошибку времени выполнения, если вы попытаетесь присвоить его логическому значению, однако, если вы его используете
в качестве условия "If ... Then
" он будет действовать как False
. Более того Null <> Null
будет также
производим Null
, поэтому:
В VB6 вы могли бы сказать, что Null
не равен ни себе (или чему-либо еще), ни неравенству!
Вы должны проверить это с помощью функции IsNull()
.
VB6 также имеет другие специальные значения:
Nothing
для ссылок на объекты. Nothing = Nothing
- ошибка компиляции. (вы должны сравнить его, используя "is
")
Missing
для необязательных параметров, которые не были заданы. Он не имеет буквального представления, поэтому вы даже не можете написать Missing = Missing
. (тест IsMissing(foo)
)
Empty
для неинициализированных переменных. Этот тест тестирует себя равным, хотя есть также функция IsEmpty()
.
- ... дайте мне знать, если я забыл один
Я помню, что был немного противен VB.