如何:确定两个对象是否相同 (Visual Basic)

在 Visual Basic 中,如果两个变量引用的指针相同(即,如果两个变量都指向内存中的同一个类实例),则两个变量引用被视为是相同的。 例如,在 Windows 窗体应用程序中,可能需要进行比较以确定当前实例 (Me) 是否与特定实例(如 Form2)相同。

Visual Basic 提供了两个运算符来比较指针。 如果对象相同,则 Is 运算符返回 True;如果对象不同,则 IsNot 运算符返回 True

确定两个对象是否相同

确定两个对象是否相同的步骤

  1. 设置 Boolean 表达式以测试两个对象。

  2. 在测试表达式中,将 Is 运算符与两个对象一起用作操作数。

    如果两个对象指向同一个类实例,则 Is 返回 True

确定两个对象是否不相同

有时,你需要执行一个操作,如果两个对象不相同,合并 NotIs 可能很难,例如 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

另请参阅