Int64.Equals Méthode

Définition

Retourne une valeur indiquant si cette instance est égale à un objet spécifié ou à Int64.

Surcharges

Equals(Int64)

Retourne une valeur indiquant si cette instance est égale à une valeur Int64 spécifiée.

Equals(Object)

Retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

Equals(Int64)

Retourne une valeur indiquant si cette instance est égale à une valeur Int64 spécifiée.

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

Paramètres

obj
Int64

Valeur Int64 à comparer à cette instance.

Retours

Boolean

true si obj possède la même valeur que cette instance ; sinon, false.

Implémente

Remarques

Cette méthode implémente l’interface System.IEquatable<T> et fonctionne légèrement mieux que Equals parce qu’elle n’a pas besoin de convertir le obj paramètre en objet.

Notes pour les appelants

La résolution de surcharge du compilateur peut tenir compte d’une différence apparente dans le comportement des deux Equals(Int64) surcharges de méthode. Si une conversion implicite entre l’argument obj et un Int64 argument est définie et que l’argument n’est pas typé en tant que Object, les compilateurs effectuent une conversion implicite et appellent la Equals(Int64) méthode. Sinon, ils appellent la Equals(Object) méthode, qui retourne false toujours si son obj argument n’est pas une Int64 valeur. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode. Dans le cas des Bytevaleurs , , SByte, UInt16Int16Int32et UInt32 des valeurs, la première comparaison est retournéetrue, car le compilateur effectue automatiquement une conversion étendue et appelle la Equals(Int64) méthode, tandis que la deuxième comparaison retourne false parce que le compilateur appelle la Equals(Object) méthode.

::code language="csharp » source="~/snippets/csharp/System/Int64/Equals/equalsoverl.cs » interactive="try-dotnet » id="Snippet1 »::: :::code language="fsharp » source="~/snippets/fsharp/VS_Snippets_CLR_System// system.int64.equals/fs/equalsoverl.fs » id="Snippet1 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.int64.equals/vb/equalsoverl.vb » id="Snippet1 »:::

S’applique à

Equals(Object)

Retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

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

Paramètres

obj
Object

Objet à comparer à cette instance.

Retours

Boolean

true si obj est une instance de Int64 et est égal à la valeur de cette instance ; sinon, false.

Exemples

L’exemple de code suivant illustre l’utilisation Equals dans le contexte de Int64, en comparant deux valeurs longues et en retournant true s’ils représentent le même nombre ou false s’ils ne le font pas.

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

Notes pour les appelants

La résolution de surcharge du compilateur peut tenir compte d’une différence apparente dans le comportement des deux Equals(Int64) surcharges de méthode. Si une conversion implicite entre l’argument obj et un Int64 argument est définie et que l’argument n’est pas typé en tant que Object, les compilateurs effectuent une conversion implicite et appellent la Equals(Int64) méthode. Sinon, ils appellent la Equals(Object) méthode, qui retourne false toujours si son obj argument n’est pas une Int64 valeur. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode. Dans le cas des Bytevaleurs , , SByte, UInt16Int16Int32et UInt32 des valeurs, la première comparaison est retournéetrue, car le compilateur effectue automatiquement une conversion étendue et appelle la Equals(Int64) méthode, tandis que la deuxième comparaison retourne false parce que le compilateur appelle la Equals(Object) méthode.

::code language="csharp » source="~/snippets/csharp/System/Int64/Equals/equalsoverl.cs » interactive="try-dotnet » id="Snippet1 »::: :::code language="fsharp » source="~/snippets/fsharp/VS_Snippets_CLR_System// system.int64.equals/fs/equalsoverl.fs » id="Snippet1 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.int64.equals/vb/equalsoverl.vb » id="Snippet1 »:::

Voir aussi

S’applique à