Object.Equals Metoda

Definicja

Określa, czy dwa wystąpienia obiektu są takie same.

Przeciążenia

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

Equals(Object, Object)

Określa, czy określone wystąpienia obiektów są traktowane jako równe.

Equals(Object)

Źródło:
Object.cs
Źródło:
Object.cs
Źródło:
Object.cs

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

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

Parametry

obj
Object

Obiekt do porównania z bieżącym obiektem.

Zwraca

Wartość true, jeśli określony obiekt jest taki sam, jak bieżący obiekt, w przeciwnym razie wartość false.

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz dodatkowe uwagi dotyczące interfejsu API dla obiektu Object.Equals.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.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)

Źródło:
Object.cs
Źródło:
Object.cs
Źródło:
Object.cs

Określa, czy określone wystąpienia obiektów są traktowane jako równe.

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

Parametry

objA
Object

Pierwszy obiekt do porównania.

objB
Object

Drugi obiekt do porównania.

Zwraca

true jeśli obiekty są uważane za równe; w przeciwnym razie , false. Jeśli obie objA wartości i objB mają wartość null, metoda zwraca wartość true.

Przykłady

Poniższy przykład ilustruje metodę Equals(Object, Object) i porównuje ją z ReferenceEquals metodą .

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

Uwagi

Metoda statyczna Equals(Object, Object) wskazuje, czy dwa obiekty i objAobjB, są równe. Umożliwia również testowanie obiektów, których wartość ma wartość null dla równości. Porównuje objAobjB i pod kątem równości w następujący sposób:

  • Określa, czy dwa obiekty reprezentują to samo odwołanie do obiektu. Jeśli tak, metoda zwraca truewartość . Ten test jest odpowiednikiem wywoływania ReferenceEquals metody . Ponadto, jeśli obie objA wartości i objB mają wartość null, metoda zwraca truewartość .

  • Określa, czy ma wartość objA null, czy objB też ma wartość null. Jeśli tak, zwraca wartość false.

  • Jeśli dwa obiekty nie reprezentują tego samego odwołania do obiektu i żadna z nich nie ma wartości null, wywołuje metodę objA.Equals(objB) i zwraca wynik. Oznacza to, że jeśli objA zastąpi metodę Object.Equals(Object) , to zastąpienie jest wywoływane.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.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