Leer en inglés

Compartir a través de


Object.Equals Método

Definición

Determina si dos instancias de objeto son iguales.

Sobrecargas

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

Equals(Object, Object)

Determina si las instancias del objeto especificado se consideran iguales.

Equals(Object)

Source:
Object.cs
Source:
Object.cs
Source:
Object.cs

Determina si el objeto especificado es igual que el objeto actual.

public virtual bool Equals (object obj);
public virtual bool Equals (object? obj);

Parámetros

obj
Object

Objeto que se va a comparar con el objeto actual.

Devoluciones

true si el objeto especificado es igual al objeto actual; en caso contrario, false.

Comentarios

Para obtener más información sobre esta API, consulte Comentarios complementarios de la API para Object.Equals.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Equals(Object, Object)

Source:
Object.cs
Source:
Object.cs
Source:
Object.cs

Determina si las instancias del objeto especificado se consideran iguales.

public static bool Equals (object objA, object objB);
public static bool Equals (object? objA, object? objB);

Parámetros

objA
Object

Primer objeto que se va a comparar.

objB
Object

Segundo objeto que se va a comparar.

Devoluciones

Es true si los dos objetos se consideran iguales; en caso contrario, es false. Si tanto objA como objB son null, el método devuelve true.

Ejemplos

En el ejemplo siguiente se muestra el Equals(Object, Object) método y se compara con el ReferenceEquals método .

using System;

public class Example
{
   public static void Main()
   {
      Dog m1 = new Dog("Alaskan Malamute");
      Dog m2 = new Dog("Alaskan Malamute");
      Dog g1 = new Dog("Great Pyrenees");
      Dog g2 = g1;
      Dog d1 = new Dog("Dalmation");
      Dog n1 = null;
      Dog n2 = null;

      Console.WriteLine("null = null: {0}", Object.Equals(n1, n2));
      Console.WriteLine("null Reference Equals null: {0}\n", Object.ReferenceEquals(n1, n2));

      Console.WriteLine("{0} = {1}: {2}", g1, g2, Object.Equals(g1, g2));
      Console.WriteLine("{0} Reference Equals {1}: {2}\n", g1, g2, Object.ReferenceEquals(g1, g2));

      Console.WriteLine("{0} = {1}: {2}", m1, m2, Object.Equals(m1, m2));
      Console.WriteLine("{0} Reference Equals {1}: {2}\n", m1, m2, Object.ReferenceEquals(m1, m2));

      Console.WriteLine("{0} = {1}: {2}", m1, d1, Object.Equals(m1, d1));
      Console.WriteLine("{0} Reference Equals {1}: {2}", m1, d1, Object.ReferenceEquals(m1, d1));
   }
}

public class Dog
{
   // Public field.
   public string Breed;

   // Class constructor.
   public Dog(string dogBreed)
   {
      this.Breed = dogBreed;
   }

   public override bool Equals(Object obj)
   {
      if (obj == null || !(obj is Dog))
         return false;
      else
         return this.Breed == ((Dog) obj).Breed;
   }

   public override int GetHashCode()
   {
      return this.Breed.GetHashCode();
   }

   public override string ToString()
   {
      return this.Breed;
   }
}
// The example displays the following output:
//       null = null: True
//       null Reference Equals null: True
//
//       Great Pyrenees = Great Pyrenees: True
//       Great Pyrenees Reference Equals Great Pyrenees: True
//
//       Alaskan Malamute = Alaskan Malamute: True
//       Alaskan Malamute Reference Equals Alaskan Malamute: False
//
//       Alaskan Malamute = Dalmation: False
//       Alaskan Malamute Reference Equals Dalmation: False

Comentarios

El método estático Equals(Object, Object) indica si dos objetos, objA y objB, son iguales. También permite probar objetos cuyo valor es NULL para determinar si son iguales. Compara objA y objB para la igualdad de la siguiente manera:

  • Determina si los dos objetos representan la misma referencia de objeto. Si lo hacen, el método devuelve true. Esta prueba equivale a llamar al ReferenceEquals método . Además, si y objAobjB son NULL, el método devuelve true.

  • Determina si objA o objB es null. Si es así, devuelve false.

  • Si los dos objetos no representan la misma referencia de objeto y ninguno es NULL, llama a objA.Equals(objB) y devuelve el resultado. Esto significa que si objA invalida el Object.Equals(Object) método , se llama a esta invalidación.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0