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