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 Int64.Equals (Int64)

 

Data di pubblicazione: ottobre 2016

Restituisce un valore che indica se l'istanza è uguale a un valore Int64 specificato.

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

public bool Equals(
	long obj
)

Parametri

obj
Type: System.Int64

Valore Int64 da confrontare con questa istanza.

Valore restituito

Type: System.Boolean

true se obj ha lo stesso valore di questa istanza; in caso contrario, false.

This method implements the T:System.IEquatable`1 interface, and performs slightly better than M:System.Int64.Equals(System.Object) because it does not have to convert the obj parameter to an object.

Note per i chiamanti:

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

using System;

public class Example
{
   static long 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);

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

      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);

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

      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 (Int64) = 112 (Byte): False
//
//       value = short1:            True
//       112 (Int64) = 112 (Int16): False
//
//       value = int1:              True
//       112 (Int64) = 112 (Int32): False
//
//       value = sbyte1:            True
//       112 (Int64) = 112 (SByte): False
//
//       value = ushort1:            True
//       112 (Int64) = 112 (UInt16): False
//
//       value = uint1:              True
//       112 (Int64) = 112 (UInt32): False
//
//       value = dec1:                False
//       112 (Int64) = 112 (Decimal): False
//
//       value = dbl1:               False
//       112 (Int64) = 112 (Double): False

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
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: