Método Object.ReferenceEquals() en C#

El método Object.ReferenceEquals() se usa para determinar si las instancias de Object especificadas son la misma instancia o no. Este método no se puede anular. Entonces, si un usuario va a probar la igualdad de las referencias de dos objetos y no está seguro acerca de la implementación del método Equals , entonces puede llamar al método ReferenceEquals .

Sintaxis: public static bool ReferenceEquals (objeto ob1, objeto ob2);

Parámetros:
ob1 : Es el primer objeto a comparar.
ob2 : Es el segundo objeto a comparar.

Valor devuelto: este método devuelve verdadero si ob1 es la misma instancia que ob2 o si ambos son nulos ; de lo contrario, devuelve falso .

Los siguientes programas ilustran el uso del método Object.ReferenceEquals() :

Ejemplo 1:

// C# program to demonstrate the
// Object.ReferenceEquals(object)
// Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing value1
        object v1 = null;
  
        // Declaring and initializing value2
        object v2 = null;
  
        // using ReferenceEquals(object,
        // object) method
        bool status = Object.ReferenceEquals(v1, v2);
  
        // checking the status
        if (status)
            Console.WriteLine("null is equal to null");
        else
            Console.WriteLine("null is not equal to null");
    }
}
Producción:

null is equal to null

Ejemplo 2:

// C# program to demonstrate the
// Object.ReferenceEquals(Object, Object)
// Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        object p = new Object();
        object q = null;
  
        // calling get() method
        get(p, null);
  
        // assigning p to q
        q = p;
        get(p, q);
        get(q, null);
    }
  
    // defining get() method
    public static void get(object v1,
                           object v2)
    {
  
        // using ReferenceEquals(Object) method
        bool status = Object.ReferenceEquals(v1, v2);
  
        // checking the status
        if (status)
            Console.WriteLine("{0} is equal to {1}",
                                            v1, v2);
        else
            Console.WriteLine("{0} is not equal to {1}",
                                                v1, v2);
    }
}
Producción:

System.Object is not equal to 
System.Object is equal to System.Object
System.Object is not equal to 

Nota: Aquí, nulo nunca se imprimirá en la salida.

Puntos importantes:

  • Si tanto ob1 como ob2 representan la misma instancia de un tipo de valor, entonces este método devuelve falso.
  • Si ob1 y ob2 son strings, este método devolverá verdadero si la string está interna porque este método nunca realizará una prueba de igualdad de valores.

Referencia:

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *