Является ли ключевое слово VB.NET 'Is' таким же, как Object.ReferenceEquals? - PullRequest
9 голосов
/ 13 апреля 2010

Является ли ключевое слово Is VB.NET тем же, что и Object.ReferenceEquals?

1 Ответ

9 голосов
/ 13 апреля 2010

Да, если не объединено с проверкой TypeOf.

Цитата из MSDN:

Оператор Is определяет, если два ссылки на объекты относятся к тому же объект. Тем не менее, он не выполняет сравнение значений. Если object1 и object2 оба ссылаются на одно и то же экземпляр объекта, результатом является True; если нет, результат ложный.

Может также использоваться с TypeOf ключевое слово для создания TypeOf ... выражение, которое проверяет, является ли Переменная объекта совместима с тип данных.

Кстати, также обратите внимание на оператор IsNot (который дает булеву инверсию выражения Is):

IsNot является противоположностью Is оператор. Преимущество IsNot заключается в что вы можете избежать неловкого синтаксиса с Не и есть, что может быть трудно читать.

...