Gewusst wie: Bestimmen der Gleichheit zweier Objekte
Aktualisiert: November 2007
Für Visual Basic gelten zwei Objekte als identisch, wenn deren Zeiger gleich sind, d. h., wenn beide Variablen im Arbeitsspeicher auf die gleiche Klasseninstanz zeigen. Dieser Vergleich ist z. B. sinnvoll, wenn Sie feststellen möchten, ob die aktuelle Instanz (Me) mit einer bestimmten Instanz wie Form2 identisch ist.
Visual Basic stellt zwei Operatoren zum Vergleich von Zeigern bereit. Der Is-Operator (Visual Basic) gibt True zurück, wenn die Objekte identisch sind. Der IsNot-Operator gibt True zurück, wenn sie nicht identisch sind.
Bestimmen der Gleicheit zweier Objekte
So stellen Sie fest, ob zwei Objekte identisch sind
Richten Sie einen Boolean-Ausdruck ein, um die beiden Objekte zu testen.
Verwenden Sie im Testausdruck den Is-Operator mit den beiden Objekten als Operanden.
Is gibt True zurück, wenn die Objekte auf die gleiche Klasseninstanz zeigen.
Bestimmen der Ungleichheit zweier Objekte
Es kann vorkommen, dass Sie eine Aktion ausführen möchten, wenn die beiden Objekte nicht identisch sind. Dabei ist es eventuell umständlich, Not und Is zu kombinieren, wie z. B. bei If Not obj1 Is obj2. In einem solchen Fall können Sie den IsNot-Operator verwenden.
So stellen Sie fest, ob zwei Objekte nicht identisch sind
Richten Sie einen Boolean-Ausdruck ein, um die beiden Objekte zu testen.
Verwenden Sie im Testausdruck den IsNot-Operator mit den beiden Objekten als Operanden.
IsNot gibt True zurück, wenn die Objekte nicht auf die gleiche Klasseninstanz zeigen.
Beispiel
Im folgenden Beispiel werden Paare von Object-Variablen daraufhin getestet, ob sie auf die gleiche Klasseninstanz zeigen.
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))
Durch den Code im vorhergehenden Beispiel wird folgende Ausgabe angezeigt.
objA different from objB? True
objA identical to objC? True
Siehe auch
Aufgaben
Gewusst wie: Bestimmen des Bezugs zwischen zwei Objekten
Konzepte
Objektvariablen in Visual Basic