Auf Englisch lesen

Freigeben über


Object.Equals Methode

Definition

Stellt fest, ob zwei Objektinstanzen gleich sind.

Überlädt

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

Equals(Object, Object)

Stellt fest, ob die angegebenen Objektinstanzen als gleich betrachtet werden.

Equals(Object)

Quelle:
Object.cs
Quelle:
Object.cs
Quelle:
Object.cs

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

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

Parameter

obj
Object

Das Objekt, das mit dem aktuellen Objekt verglichen werden soll.

Gibt zurück

true, wenn das angegebene Objekt und das aktuelle Objekt gleich sind, andernfalls false.

Hinweise

Weitere Informationen zu dieser API finden Sie unter Ergänzende API-Hinweise für Object.Equals.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.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)

Quelle:
Object.cs
Quelle:
Object.cs
Quelle:
Object.cs

Stellt fest, ob die angegebenen Objektinstanzen als gleich betrachtet werden.

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

Parameter

objA
Object

Das erste zu vergleichende Objekt.

objB
Object

Das zweite zu vergleichende Objekt.

Gibt zurück

true, wenn die Objekte als gleich betrachtet werden, andernfalls false. Wenn sowohl objA, als auch objBNULL sind, gibt diese Methode true zurück.

Beispiele

Im folgenden Beispiel wird die Equals(Object, Object) -Methode veranschaulicht und mit der ReferenceEquals -Methode verglichen.

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

Hinweise

Die statische Equals(Object, Object) Methode gibt an, ob zwei Objekte und objAobjBgleich sind. Außerdem können Sie Objekte testen, deren Wert auf Gleichheit null ist. Es vergleicht objA und objB auf Gleichheit wie folgt:

  • Sie bestimmt, ob die beiden Objekte denselben Objektverweis darstellen. Wenn dies der Fehler ist, gibt die -Methode zurück true. Dieser Test entspricht dem Aufrufen der ReferenceEquals -Methode. Wenn und nullobjAobjB sind, gibt die -Methode außerdem zurücktrue.

  • Es bestimmt, ob oder objAobjBNULL ist. Wenn ja, wird zurückgegeben false.

  • Wenn die beiden Objekte nicht denselben Objektverweis darstellen und keines null ist, wird aufgerufen objA.Equals(objB) und gibt das Ergebnis zurück. Dies bedeutet, dass diese Außerkraftsetzung aufgerufen wird, wenn objA die Object.Equals(Object) -Methode überschrieben wird.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.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