Int32.Equals Méthode

Définition

Retourne une valeur indiquant si cette instance est égale à un objet spécifié ou à Int32.Returns a value indicating whether this instance is equal to a specified object or Int32.

Surcharges

Equals(Int32)

Retourne une valeur indiquant si cette instance est égale à une valeur Int32 spécifiée.Returns a value indicating whether this instance is equal to a specified Int32 value.

Equals(Object)

Retourne une valeur indiquant si cette instance équivaut à un objet spécifié.Returns a value indicating whether this instance is equal to a specified object.

Equals(Int32)

Retourne une valeur indiquant si cette instance est égale à une valeur Int32 spécifiée.Returns a value indicating whether this instance is equal to a specified Int32 value.

public:
 virtual bool Equals(int obj);
public bool Equals (int obj);
override this.Equals : int -> bool
Public Function Equals (obj As Integer) As Boolean

Paramètres

obj
Int32

Valeur Int32 à comparer à cette instance.An Int32 value to compare to this instance.

Retours

true si obj possède la même valeur que cette instance ; sinon, false.true if obj has the same value as this instance; otherwise, false.

Implémente

Remarques

Cette méthode implémente l’interface System.IEquatable<T> et s’exécute légèrement mieux que Int32.Equals(Object), car elle n’a pas besoin de convertir le paramètre obj en objet.This method implements the System.IEquatable<T> interface, and performs slightly better than Int32.Equals(Object) because it does not have to convert the obj parameter to an object.

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(Int32) surcharges de méthode.Compiler overload resolution may account for an apparent difference in the behavior of the two Equals(Int32) method overloads. Si une conversion implicite entre l’argument obj et un Int32 est définie et que l’argument n’est pas typé comme un Object, les compilateurs effectuent une conversion implicite et appellent la méthode Equals(Int32).If an implicit conversion between the obj argument and an Int32 is defined and the argument is not typed as an Object, compilers perform an implicit conversion and call the Equals(Int32) method. Sinon, ils appellent la méthode Equals(Object), qui retourne toujours false si son argument obj n’est pas une valeur Int32.Otherwise, they call the Equals(Object) method, which always returns false if its obj argument is not an Int32 value. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode.The following example illustrates the difference in behavior between the two method overloads. Dans le cas des valeurs Byte, Int16, SByteet UInt16, la première comparaison retourne true, car le compilateur effectue automatiquement une conversion étendue et appelle la méthode Equals(Int32), tandis que la deuxième comparaison retourne false parce que le compilateur appelle la méthode Equals(Object).In the case of the Byte, Int16, SByte, and UInt16 values, the first comparison returns true because the compiler automatically performs a widening conversion and calls the Equals(Int32) method, whereas the second comparison returns false because the compiler calls the Equals(Object) method.

[!code-csharpSystem.Int32.Equals#1] [!code-vbSystem.Int32.Equals#1][!code-csharpSystem.Int32.Equals#1] [!code-vbSystem.Int32.Equals#1]

Equals(Object)

Retourne une valeur indiquant si cette instance équivaut à un objet spécifié.Returns a value indicating whether this instance is equal to a specified object.

public:
 override bool Equals(System::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.An object to compare with this instance.

Retours

true si obj est une instance de Int32 et est égal à la valeur de cette instance ; sinon, false.true if obj is an instance of Int32 and equals the value of this instance; otherwise, false.

Exemples

L’exemple suivant illustre l’utilisation de Equals dans le contexte de Int32, la comparaison de deux valeurs int et le retour de true si elles représentent le même nombre, ou false dans le cas contraire.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" );

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

Dim myVariable1 As Int32 = 60
Dim myVariable2 As Int32 = 60

' 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(Int32) surcharges de méthode.Compiler overload resolution may account for an apparent difference in the behavior of the two Equals(Int32) method overloads. Si une conversion implicite entre l’argument obj et un Int32 est définie et que l’argument n’est pas typé comme un Object, les compilateurs effectuent une conversion implicite et appellent la méthode Equals(Int32).If an implicit conversion between the obj argument and an Int32 is defined and the argument is not typed as an Object, compilers perform an implicit conversion and call the Equals(Int32) method. Sinon, ils appellent la méthode Equals(Object), qui retourne toujours false si son argument obj n’est pas une valeur Int32.Otherwise, they call the Equals(Object) method, which always returns false if its obj argument is not an Int32 value. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode.The following example illustrates the difference in behavior between the two method overloads. Dans le cas des valeurs Byte, Int16, SByteet UInt16, la première comparaison retourne true, car le compilateur effectue automatiquement une conversion étendue et appelle la méthode Equals(Int32), tandis que la deuxième comparaison retourne false parce que le compilateur appelle la méthode Equals(Object).In the case of the Byte, Int16, SByte, and UInt16 values, the first comparison returns true because the compiler automatically performs a widening conversion and calls the Equals(Int32) method, whereas the second comparison returns false because the compiler calls the Equals(Object) method.

[!code-csharpSystem.Int32.Equals#1] [!code-vbSystem.Int32.Equals#1][!code-csharpSystem.Int32.Equals#1] [!code-vbSystem.Int32.Equals#1]

Voir aussi

S’applique à