Leggere in inglese

Condividi tramite


Object.Equals Metodo

Definizione

Determina se due istanze di un oggetto sono uguali.

Overload

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

Equals(Object, Object)

Determina se le istanze dell'oggetto specificate sono considerate uguali.

Equals(Object)

Origine:
Object.cs
Origine:
Object.cs
Origine:
Object.cs

Determina se l'oggetto specificato è uguale all'oggetto corrente.

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

Parametri

obj
Object

Oggetto da confrontare con l'oggetto corrente.

Restituisce

true se l'oggetto specificato è uguale all'oggetto corrente; in caso contrario, false.

Commenti

Per altre informazioni su questa API, vedere Osservazioni api supplementari per Object.Equals.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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)

Origine:
Object.cs
Origine:
Object.cs
Origine:
Object.cs

Determina se le istanze dell'oggetto specificate sono considerate uguali.

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

Parametri

objA
Object

Primo oggetto da confrontare.

objB
Object

Secondo oggetto da confrontare.

Restituisce

true se gli oggetti sono considerati uguali; in caso contrario, false. Se entrambi i parametri objA e objB sono null, il metodo restituisce true.

Esempio

Nell'esempio seguente viene illustrato il Equals(Object, Object) metodo e lo confronta con il ReferenceEquals metodo .

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

Commenti

Il metodo statico Equals(Object, Object) indica se due oggetti objA e objB, sono uguali. Consente inoltre di testare gli oggetti il cui valore è Null per l'uguaglianza. objA Confronta e objB per l'uguaglianza come indicato di seguito:

  • Determina se i due oggetti rappresentano lo stesso riferimento all'oggetto. In caso contrario, il metodo restituisce true. Questo test equivale a chiamare il ReferenceEquals metodo. Inoltre, se objA entrambi e objB sono Null, il metodo restituisce true.

  • Determina se objA o objB è Null. In tal caso, restituisce false.

  • Se i due oggetti non rappresentano lo stesso riferimento all'oggetto e nessuno è null, chiama objA.Equals(objB) e restituisce il risultato. Ciò significa che se objA esegue l'override del Object.Equals(Object) metodo, viene chiamato questo override.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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