Int64.Equals Yöntem

Tanım

Bu örneğin belirtilen bir nesneye veya değerine eşit olup olmadığını belirten bir değer Int64 döndürür.

Aşırı Yüklemeler

Equals(Int64)

Bu örneğin belirtilen değere eşit olup olmadığını belirten bir değer Int64 döndürür.

Equals(Object)

Bu örneğin, belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

Equals(Int64)

Bu örneğin belirtilen değere eşit olup olmadığını belirten bir değer Int64 döndürür.

public:
 virtual bool Equals(long obj);
public bool Equals (long obj);
override this.Equals : int64 -> bool
Public Function Equals (obj As Long) As Boolean

Parametreler

obj
Int64

Bu Int64 örnekle karşılaştıran bir değer.

Döndürülenler

Boolean

true bu obj örnekle aynı değere sahipse, değilse, false .

Uygulamalar

Açıklamalar

Bu yöntem arabirimini gerçekleştirir ve parametresini bir nesneye dönüştürmesi gerekmesi nedeniyle biraz daha System.IEquatable<T> Equals iyi performans obj gösterir.

Arayanlara Notlar

Derleyici aşırı yükleme çözümlemesi, iki yöntem aşırı yüklemesi davranışında belirgin bir Equals(Int64) farka neden olabilir. bağımsız değişkeni ile arasında örtülü bir dönüştürme tanımlanmışsa ve bağımsız değişken olarak yazlanmamışsa, derleyiciler örtülü bir dönüştürme işlemi gerçekleştirecek ve obj Int64 yöntemini Object Equals(Int64) çağıran. Aksi takdirde yöntemini Equals(Object) çağırarak bağımsız değişkeni bir false değer değilse her zaman obj Int64 döndürür. Aşağıdaki örnek, iki yöntem aşırı yüklemesi arasındaki davranış farkını göstermektedir. , , , , ve değerleri durumunda, derleyici otomatik olarak bir genişleyici dönüştürmesi gerçekleştirerek yöntemini çağıran, ikinci karşılaştırma ise derleyici yöntemini çağırarak döndüren ilk karşılaştırmayı Byte SByte Int16 UInt16 Int32 UInt32 true Equals(Int64) false Equals(Object) döndürür.

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

Şunlara uygulanır

Equals(Object)

Bu örneğin, belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals (object obj);
public override bool Equals (object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

Parametreler

obj
Object

Bu örnekle karşılaştırılacak bir nesne.

Döndürülenler

Boolean

true bir obj örneği ise ve bu örneğin Int64 değerine eşittir; değilse, false .

Örnekler

Aşağıdaki kod örneği, bağlamında kullanımını, iki uzun değeri karşılaştırarak ve aynı s numarayı temsil ederse veya temsil etmiyorsa Equals Int64 true false döndürerek gösterir.

Int64 myVariable1 = 80;
Int64 myVariable2 = 80;

// 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" );
Int64 myVariable1 = 80;
Int64 myVariable2 = 80;

// 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");
let myVariable1 = 80L
let myVariable2 = 80L

// Get and display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is: {myVariable1}"
printfn $"\nType of 'myVariable2' is '{myVariable2.GetType()}' and value is: {myVariable2}"

// Compare 'myVariable1' instance with 'myVariable2' Object.
if myVariable1.Equals myVariable2 then
    printfn "\nStructures 'myVariable1' and 'myVariable2' are equal"
else
    printfn "\nStructures 'myVariable1' and 'myVariable2' are not equal"
Dim myVariable1 As Int64 = 80
Dim myVariable2 As Int64 = 80

' Get and display the declaring type.
Console.WriteLine(ControlChars.NewLine + "Type of 'myVariable1' is '{0}' and" +  _
            " value is :{1}", myVariable1.GetType().ToString(), myVariable1.ToString())
Console.WriteLine("Type of 'myVariable2' is '{0}' and" +  _
         " value is :{1}", myVariable2.GetType().ToString(), myVariable2.ToString())

' Compare 'myVariable1' instance with 'myVariable2' Object.
If myVariable1.Equals(myVariable2) Then
   Console.WriteLine(ControlChars.NewLine + "Structures 'myVariable1' and " + _
            "'myVariable2' are equal")
Else
   Console.WriteLine(ControlChars.NewLine + "Structures 'myVariable1' and " +  _
         "'myVariable2' are not equal")
End If

Arayanlara Notlar

Derleyici aşırı yükleme çözümlemesi, iki yöntem aşırı yüklemesi davranışında belirgin bir Equals(Int64) farka neden olabilir. bağımsız değişkeni ile arasında örtülü bir dönüştürme tanımlanmışsa ve bağımsız değişken olarak yazlanmamışsa, derleyiciler örtülü bir dönüştürme işlemi gerçekleştirecek ve obj Int64 yöntemini Object Equals(Int64) çağıran. Aksi takdirde yöntemini Equals(Object) çağırarak bağımsız değişkeni bir false değer değilse her zaman obj Int64 döndürür. Aşağıdaki örnek, iki yöntem aşırı yüklemesi arasındaki davranış farkını göstermektedir. , , , , ve değerleri durumunda, derleyici otomatik olarak bir genişleyici dönüştürmesi gerçekleştirerek yöntemini çağıran, ikinci karşılaştırma ise derleyici yöntemini çağırarak döndüren ilk karşılaştırmayı Byte SByte Int16 UInt16 Int32 UInt32 true Equals(Int64) false Equals(Object) döndürür.

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

Ayrıca bkz.

Şunlara uygulanır