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


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

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

Visual Basic предоставляет два оператора для сравнения указателей. Оператор Is (Visual Basic) возвращает значение True если объекты идентичны, и Оператор IsNot (Visual Basic) возвращает значение 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 = My.User
objB = New ApplicationServices.User
objC = My.User
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 (Visual Basic)

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

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

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

Me, My, MyBase и MyClass в Visual Basic