Object.ReferenceEquals Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Determines whether the specified object instances are the same instance.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

Public Shared Function ReferenceEquals ( _
    objA As Object, _
    objB As Object _
) As Boolean
public static bool ReferenceEquals(
    Object objA,
    Object objB
)

Parameters

Return Value

Type: System..::.Boolean
true if objA is the same instance as objB or if both are nullNothingnullptra null reference (Nothing in Visual Basic); otherwise, false.

Remarks

Unlike the Equals method and the equality operator, the ReferenceEquals method cannot be overridden. Because of this, if you want to test two object references for equality and are unsure about the implementation of the Equals method, you can call the ReferenceEquals method. However, note that if objA and objB are value types, they are boxed before they are passed to the ReferenceEquals method.

Examples

The following code example uses ReferenceEquals to determine if two objects are the same instance.


Public Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
    Dim o As Object = Nothing
    Dim p As Object = Nothing
    Dim q As New Object
    outputBlock.Text += Object.ReferenceEquals(o, p) & vbCrLf
    p = q
    outputBlock.Text += Object.ReferenceEquals(p, q) & vbCrLf
    outputBlock.Text += Object.ReferenceEquals(o, p) & vbCrLf
   End Sub
End Class
' This code produces the following output:
'
' True
' True
' False
'
using System;

class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
        object o = null;
        object p = null;
        object q = new Object();

        outputBlock.Text += Object.ReferenceEquals(o, p) + "\n";
        p = q;
        outputBlock.Text += Object.ReferenceEquals(p, q) + "\n";
        outputBlock.Text += Object.ReferenceEquals(o, p) + "\n";
   }
}


/*

This code produces the following output.

True
True
False

*/

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

Object Class

System Namespace

Equals