Поделиться через


Практическое руководство. Определение идентичности двух объектов

Обновлен: Ноябрь 2007

Visual Basic считает, что два объекта идентичны, если их указатели совпадают, то есть если обе переменных указывают на один экземпляр класса в памяти. Может потребоваться сделать это сравнение, например, чтобы определить, идентичен ли текущий экземпляр (Me) конкретному экземпляру, например Form2.

Visual Basic предоставляет два оператора для сравнения указателей. Оператор Is (Visual Basic) возвращает значение True если объекты идентичны, и Оператор IsNot возвращает значение True если нет.

Определение идентичности двух объектов

Определение идентичности двух объектов

  1. Укажите выражение Boolean для проверки двух объектов.

  2. В проверяемом выражении используйте оператор Is с двумя объектами в качестве операндов.

    Is возвращает значение True, если объекты указывают на один и тот же экземпляр класса.

Определение различности двух объектов

В некоторых случаях требуется выполнить действие, если два объекта не идентичны, и может быть неудобно объединять Not и Is, например If Not obj1 Is obj2. В таком случае можно использовать оператор IsNot.

Определение различности двух объектов

  1. Укажите выражение Boolean для проверки двух объектов.

  2. В проверяемом выражении используйте оператор IsNot с двумя объектами в качестве операндов.

    IsNot возвращает True, если объекты не указывают на один и тот же экземпляр класса.

Пример

Следующий пример проверяет пары переменных Object, чтобы увидеть, указывают ли они на один экземпляр класса.

Dim objA, objB, objC as Object
objA = Me
objB = New System.Windows.Forms.Form()
objC = Me
MsgBox("objA different from objB? " & CStr(objA IsNot objB))
MsgBox("objA identical to objC? " & CStr(objA Is objC))

В предыдущем примере отображаются следующие выходные данные.

objA different from objB? True

objA identical to objC? True

См. также

Задачи

Практическое руководство. Определение наличия связи между двумя объектами

Основные понятия

Объектные переменные в Visual Basic

Значения объектных переменных

Ссылки

Тип данных Object

Оператор Is (Visual Basic)

Оператор IsNot