在 Visual Basic 中,如果两个变量的指针相同,则两个变量引用被视为相同的,也就是说,如果两个变量都指向内存中的同一类实例。 例如,在 Windows 窗体应用程序中,你可能希望进行比较以确定当前实例 (Me
) 是否与特定实例相同,例如 Form2
。
Visual Basic 提供两个运算符来比较指针。
Is 运算符在对象相同时返回True
,而IsNot 运算符在对象不同时返回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