在 Visual Basic 中,如果两个变量引用的指针相同,即两个变量指向内存中的同一类实例,会认为这两个变量引用相同。 例如,在 Windows 窗体应用程序中,您可能要进行比较,确定当前实例 (Me) 与特定实例 (Form2) 是否相同。
Visual Basic 提供两个用来比较指针的运算符。 如果对象相同,则 Is 运算符 (Visual Basic) 返回 True,否则 IsNot 运算符 (Visual Basic) 返回 True。
确定两个对象是否相同
确定两个对象是否相同
- 设置一个 Boolean 表达式来测试这两个对象。 
- 在测试表达式中,使用 Is 运算符,将两个对象作为操作数。 - 如果两个对象指向同一类实例,则 Is 返回 True。 
确定两个对象是否不同
有时,您要在两个对象不同时执行操作,且不适于组合 Not 和 Is,例如 If Not obj1 Is obj2。 在这种情况下,可以使用 IsNot 运算符。
确定两个对象是否不同
- 设置一个 Boolean 表达式来测试这两个对象。 
- 在测试表达式中,使用 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