如何:确定两个对象是否相同

更新:2007 年 11 月

如果两个对象的指针相同,即两个变量指向内存中的同一类实例,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 运算符