Ler em inglês

Compartilhar via


Object.Equals Método

Definição

Determina se duas instâncias de objeto são iguais.

Sobrecargas

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

Equals(Object, Object)

Determina se as instâncias de objeto especificadas são consideradas iguais.

Equals(Object)

Origem:
Object.cs
Origem:
Object.cs
Origem:
Object.cs

Determina se o objeto especificado é igual ao objeto atual.

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

Parâmetros

obj
Object

O objeto a ser comparado com o objeto atual.

Retornos

true se o objeto especificado for igual ao objeto atual, caso contrário, false.

Comentários

Para obter mais informações sobre essa API, consulte Comentários de API complementares para Object.Equals.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.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)

Origem:
Object.cs
Origem:
Object.cs
Origem:
Object.cs

Determina se as instâncias de objeto especificadas são consideradas iguais.

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

Parâmetros

objA
Object

O primeiro objeto a ser comparado.

objB
Object

O segundo objeto a ser comparado.

Retornos

true se os objetos forem considerados iguais; caso contrário, false. Se objA e objB forem null, o método retornará true.

Exemplos

O exemplo a seguir ilustra o Equals(Object, Object) método e o compara com o ReferenceEquals método .

C#
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

Comentários

O método estático Equals(Object, Object) indica se dois objetos e objAobjB, são iguais. Ele também permite testar objetos cujo valor é nulo para igualdade. Ele compara objA e objB para igualdade da seguinte maneira:

  • Ele determina se os dois objetos representam a mesma referência de objeto. Se o fizerem, o método retornará true. Esse teste é equivalente a chamar o ReferenceEquals método . Além disso, se e objAobjB forem nulos, o método retornará true.

  • Ele determina se ou objAobjB é nulo. Nesse caso, ele retorna false.

  • Se os dois objetos não representarem a mesma referência de objeto e nenhum deles for nulo, ele chamará objA.Equals(objB) e retorna o resultado. Isso significa que, se objA substituir o Object.Equals(Object) método, essa substituição será chamada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.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