Я считаю, что Патрик Стил лучше всего ответил на этот вопрос в своем блоге: Avoiding IsNothing ()
Я не копировал здесь ни одного его ответа, чтобы гарантировать, что Патрик Стил заслужил признание своей должности. Но я думаю, что если вы пытаетесь решить, использовать ли Is Nothing или IsNothing, вам следует прочитать его пост. Думаю, вы согласитесь, что Is Nothing - лучший выбор.
Изменить - комментарий VoteCoffe здесь
Частичное содержание статьи: Изучив дополнительный код, я обнаружил еще одну причину, по которой этого следует избегать: он принимает типы значений! Очевидно, поскольку IsNothing () - это функция, которая принимает «объект», вы можете передать ей все, что захотите. Если это тип значения, .NET поместит его в объект и передаст в IsNothing - который всегда будет возвращать false для упакованного значения! Компилятор VB.NET проверит синтаксис стиля «Is Nothing» и не будет компилировать, если вы попытаетесь сделать «Is Nothing» для типа значения. А вот функция IsNothing () компилируется без нареканий. -PSteele - ГолосоватьКофе
IsNothing()