Int64.Equals Metoda

Definice

Vrátí hodnotu, která označuje, zda je tato instance rovna zadanému objektu Int64 .

Přetížení

Equals(Int64)

Vrátí hodnotu, která označuje, zda je tato instance rovna zadané Int64 hodnotě.

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

Equals(Int64)

Vrátí hodnotu, která označuje, zda je tato instance rovna zadané Int64 hodnotě.

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

Parametry

obj
Int64

Int64Hodnota, která se má porovnat s touto instancí

Návraty

Boolean

trueobj, pokud má stejnou hodnotu jako tato instance; v opačném případě false .

Implementuje

Poznámky

Tato metoda implementuje System.IEquatable<T> rozhraní a provádí mírně lepší, než Equals protože není nutné převést obj parametr na objekt.

Poznámky pro volající

Řešení přetížení kompilátoru může pohlížet na zjevné rozdíly v chování dvou Equals(Int64) metod přetížení. Pokud implicitní převod mezi obj argumentem a Int64 je definován a argument není zadán jako Object , kompilátory provádějí implicitní převod a volají Equals(Int64) metodu. Jinak volají Equals(Object) metodu, která vždy vrátí, false Pokud její argument není obj Int64 hodnota. Následující příklad znázorňuje rozdíl v chování mezi přetíženími dvou metod. V případě Byte hodnot,,, SByte Int16 , a UInt16 Int32 UInt32 , první porovnání se vrátí, true protože kompilátor automaticky provede rozšiřující převod a volá Equals(Int64) metodu, zatímco druhé porovnání se vrátí, false protože kompilátor volá Equals(Object) metodu.

Platí pro

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

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

Parametry

obj
Object

Objekt k porovnání s touto instancí.

Návraty

Boolean

true Pokud obj je instancí Int64 a rovna hodnotě této instance; v opačném případě false .

Příklady

Následující příklad kódu ukazuje použití Equals v kontextu Int64 , porovnání dvou dlouhých hodnot a vrácení, true Pokud představují stejné číslo, nebo false Pokud ne.

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

Poznámky pro volající

Řešení přetížení kompilátoru může pohlížet na zjevné rozdíly v chování dvou Equals(Int64) metod přetížení. Pokud implicitní převod mezi obj argumentem a Int64 je definován a argument není zadán jako Object , kompilátory provádějí implicitní převod a volají Equals(Int64) metodu. Jinak volají Equals(Object) metodu, která vždy vrátí, false Pokud její argument není obj Int64 hodnota. Následující příklad znázorňuje rozdíl v chování mezi přetíženími dvou metod. V případě Byte hodnot,,, SByte Int16 , a UInt16 Int32 UInt32 , první porovnání se vrátí, true protože kompilátor automaticky provede rozšiřující převod a volá Equals(Int64) metodu, zatímco druhé porovnání se vrátí, false protože kompilátor volá Equals(Object) metodu.

Viz také

Platí pro