İngilizce dilinde oku

Aracılığıyla paylaş


Object.Equals Yöntem

Tanım

İki nesne örneğinin eşit olup olmadığını belirler.

Aşırı Yüklemeler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

Equals(Object, Object)

Belirtilen nesne örneklerinin eşit olarak kabul edilip edilmeyeceğini belirler.

Equals(Object)

Kaynak:
Object.cs
Kaynak:
Object.cs
Kaynak:
Object.cs

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

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

Parametreler

obj
Object

Geçerli nesneyle karşılaştırılacak nesne.

Döndürülenler

true belirtilen nesne geçerli nesneye eşitse; aksi takdirde , false.

Açıklamalar

Bu API hakkında daha fazla bilgi için bkz . Object.Equals için ek API açıklamaları.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.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)

Kaynak:
Object.cs
Kaynak:
Object.cs
Kaynak:
Object.cs

Belirtilen nesne örneklerinin eşit olarak kabul edilip edilmeyeceğini belirler.

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

Parametreler

objA
Object

Karşılaştırma yapılacak ilk nesne.

objB
Object

Karşılaştırma yapılacak ikinci nesne.

Döndürülenler

true nesneler eşit kabul edilirse; aksi takdirde , false. hem hem de objAnull ise yöntemi döndürürtrue.objB

Örnekler

Aşağıdaki örnek yöntemini gösterir Equals(Object, Object) ve yöntemiyle ReferenceEquals karşılaştırır.

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

Açıklamalar

Statik Equals(Object, Object) yöntem, objA ve objBadlı iki nesnenin eşit olup olmadığını gösterir. Ayrıca değeri eşitlik için null olan nesneleri test etmenizi sağlar. Eşitlik için ve objB değerlerini aşağıdaki gibi karşılaştırırobjA:

  • İki nesnenin aynı nesne başvuruyu temsil edip etmediğini belirler. Bunu yaparsa, yöntemi döndürür true. Bu test, yöntemini çağırmaya ReferenceEquals eşdeğerdir. Ayrıca, hem objB hem de objAnull ise yöntemi döndürürtrue.

  • Veya null olup olmadığını objAobjB belirler. Bu durumda döndürür false.

  • İki nesne aynı nesne başvuruyu temsil etmese ve null değilse çağrısı yapar objA.Equals(objB) ve sonucu döndürür. Bu, yöntemi geçersiz kılarsa objA bu geçersiz kılmanın Object.Equals(Object) çağrıldığını gösterir.

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.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