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"); } }
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); } }
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