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

Это Is Ключевое слово VB.NET такое же, как Object.ReferenceEquals?

1 ответ

Решение

Да, если только в сочетании с проверкой TypeOf.

Цитата из MSDN:

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

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

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

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

Другие вопросы по тегам