Является ли ключевое слово 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, который может быть трудным для чтения.