Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Int32.Equals (Object)

 

Data di pubblicazione: ottobre 2016

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public override bool Equals(
	object obj
)

Parametri

obj
Type: System.Object

Oggetto da confrontare con l'istanza.

Valore restituito

Type: System.Boolean

true se obj è un'istanza di Int32 ed è uguale al valore dell'istanza; in caso contrario, false.

Note per i chiamanti:

Compiler overload resolution may account for an apparent difference in the behavior of the two M:System.Int32.Equals(System.Int32) method overloads. If an implicit conversion between the obj argument and an T:System.Int32 is defined and the argument is not typed as an T:System.Object, compilers perform an implicit conversion and call the M:System.Int32.Equals(System.Int32) method. Otherwise, they call the M:System.Int32.Equals(System.Object) method, which always returns false if its obj argument is not an T:System.Int32 value. The following example illustrates the difference in behavior between the two method overloads. In the case of the T:System.Byte, T:System.Int16, T:System.SByte, and T:System.UInt16 values, the first comparison returns true because the compiler automatically performs a widening conversion and calls the M:System.Int32.Equals(System.Int32) method, whereas the second comparison returns false because the compiler calls the M:System.Int32.Equals(System.Object) method.

using System;

public class Example
{
   static int value = 112;

   public static void Main()
   {
      byte byte1= 112;
      Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1));
      TestObjectForEquality(byte1);

      short short1 = 112;
      Console.WriteLine("value = short1: {0,15}", value.Equals(short1));
      TestObjectForEquality(short1);

      long long1 = 112;
      Console.WriteLine("value = long1: {0,17}", value.Equals(long1));
      TestObjectForEquality(long1);

      sbyte sbyte1 = 112;
      Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1));
      TestObjectForEquality(sbyte1);

      ushort ushort1 = 112;
      Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1));
      TestObjectForEquality(ushort1);

      ulong ulong1 = 112;
      Console.WriteLine("value = ulong1: {0,17}", value.Equals(ulong1));
      TestObjectForEquality(ulong1);

      decimal dec1 = 112m;
      Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1));
      TestObjectForEquality(dec1);

      double dbl1 = 112;
      Console.WriteLine("value = dbl1: {0,19}", value.Equals(dbl1));
      TestObjectForEquality(dbl1);
   }

   private static void TestObjectForEquality(Object obj)
   {
      Console.WriteLine("{0} ({1}) = {2} ({3}): {4}\n",
                        value, value.GetType().Name,
                        obj, obj.GetType().Name,
                        value.Equals(obj));
   }
}
// The example displays the following output:
//       value = byte1:            True
//       112 (Int32) = 112 (Byte): False
//
//       value = short1:            True
//       112 (Int32) = 112 (Int16): False
//
//       value = long1:             False
//       112 (Int32) = 112 (Int64): False
//
//       value = sbyte1:            True
//       112 (Int32) = 112 (SByte): False
//
//       value = ushort1:            True
//       112 (Int32) = 112 (UInt16): False
//
//       value = ulong1:             False
//       112 (Int32) = 112 (UInt64): False
//
//       value = dec1:                False
//       112 (Int32) = 112 (Decimal): False
//
//       value = dbl1:               False
//       112 (Int32) = 112 (Double): False

The following example illustrates the use of Equals in the context of Int32, comparing two int values and returning true if they represent the same number, or false if they do not.

Int32 myVariable1 = 60;
Int32 myVariable2 = 60;

// Get and display the declaring type.
Console.WriteLine("\nType of 'myVariable1' is '{0}' and"+
     " value is :{1}",myVariable1.GetType(), myVariable1); 
Console.WriteLine("Type of 'myVariable2' is '{0}' and"+
     " value is :{1}",myVariable2.GetType(), myVariable2);

// Compare 'myVariable1' instance with 'myVariable2' Object.
if( myVariable1.Equals( myVariable2 ) )
   Console.WriteLine( "\nStructures 'myVariable1' and "+
         "'myVariable2' are equal");
else
   Console.WriteLine( "\nStructures 'myVariable1' and "+
         "'myVariable2' are not equal");

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: