Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In Visual Basic werden zwei Variablenverweise als identisch betrachtet, wenn ihre Zeiger identisch sind, d. h., wenn beide Variablen auf dieselbe Klasseninstanz im Arbeitsspeicher verweisen. In einer Windows Forms-Anwendung können Sie zum Beispiel einen Vergleich durchführen, um zu ermitteln, ob die aktuelle Instanz (Me
) mit einer bestimmten Instanz, wie Form2
, identisch ist.
Visual Basic stellt zwei Operatoren zum Vergleichen von Zeigern bereit. Der Is-Operator gibt zurück True
, wenn die Objekte identisch sind, und der IsNot-Operator gibt True
zurück, wenn sie nicht vorhanden sind.
Bestimmen, ob zwei Objekte identisch sind
So ermitteln Sie, ob zwei Objekte identisch sind
Richten Sie einen
Boolean
Ausdruck ein, um die beiden Objekte zu testen.Verwenden Sie in Ihrem Testausdruck den
Is
Operator mit den beiden Objekten als Operanden.Is
gibt zurückTrue
, wenn die Objekte auf dieselbe Klasseninstanz zeigen.
Ermitteln, ob zwei Objekte nicht identisch sind
Manchmal möchten Sie eine Aktion ausführen, wenn die beiden Objekte nicht identisch sind, und es kann ungünstig sein, Not
und Is
zu kombinieren, z. B. If Not obj1 Is obj2
. In einem solchen Fall können Sie den IsNot
Operator verwenden.
So ermitteln Sie, ob zwei Objekte nicht identisch sind
Richten Sie einen
Boolean
Ausdruck ein, um die beiden Objekte zu testen.Verwenden Sie in Ihrem Testausdruck den
IsNot
Operator mit den beiden Objekten als Operanden.IsNot
gibt zurückTrue
, wenn die Objekte nicht auf dieselbe Klasseninstanz verweisen.
Beispiel
Im folgenden Beispiel werden Variablenpaare Object
getestet, um festzustellen, ob sie auf dieselbe Klasseninstanz verweisen.
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))
Im vorherigen Beispiel wird die folgende Ausgabe angezeigt.
objA different from objB? True
objA identical to objC? True