У меня возникла интересная задача узнать о операторах VB.NET <>
и Not
. Not
- Я предполагаю своим небольшим использованием - это функциональный эквивалент !
в таких языках, как С# и <>
, эквивалентный !=
.
В VB.NET общая проблема заключается в выполнении булевых выражений в отношении объектов, у которых нет ссылки. Итак, если мы делаем
If Request.QueryString("MyQueryString") <> Nothing Then
Это приведет к сбою, если строка запроса не существует. Почему, я не знаю. Способ, которым он выполнялся старыми кодировщиками, выглядит следующим образом:
If Not Request.QueryString("MyQueryString") Is Nothing Then
И это имеет тенденцию работать. Для меня они функционально эквивалентны, хотя операторы склонны делать разные сравнения, зависящие от определенных факторов, таких как приоритет оператора, почему это не работает в этом случае, однако я не знаю, и я тоже не нашел соответствующего материала.
Я спрашиваю об этом, поскольку мне приходится писать стандартную документацию, и мы определяем использование либо Not
, либо <>
. Любые идеи о том, каким образом это должно быть, или вы должны это сделать?