Partage via


Int16.Equals Méthode

Définition

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

Surcharges

Equals(Int16)

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

Equals(Object)

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

Equals(Int16)

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

public:
 virtual bool Equals(short obj);
public bool Equals (short obj);
override this.Equals : int16 -> bool
Public Function Equals (obj As Short) As Boolean

Paramètres

obj
Int16

Valeur Int16 à 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(Int16) surcharges de méthode. Si une conversion implicite entre l’argument obj et un Int16 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(Int16) méthode. Sinon, ils appellent la Equals(Object) méthode, qui retourne false toujours si son obj argument n’est pas une Int16 valeur. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode. Dans le cas des valeurs et SByte des Byte valeurs, la première comparaison est retournéetrue, car le compilateur effectue automatiquement une conversion étendue et appelle la Equals(Int16) 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/Int16/Equals/equalsoverl.cs » interactive="try-dotnet » id="Snippet1 »::: :::code language="fsharp » source="~/snippets/fsharp/VS_Snippets_CLR_System/system.int16.equals/fs/equalsoverl.fs » id="Snippet1 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.int16.equals/vb/equalsoverl.vb » id="Snippet1 »::

Voir aussi

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 Int16 et est égal à la valeur de cette instance ; sinon, false.

Exemples

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

Int16 myVariable1 = 20;
Int16 myVariable2 = 20;

// 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" );
Int16 myVariable1 = 20;
Int16 myVariable2 = 20;

// 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 = 20s
let myVariable2 = 20s

// Get and display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is: {myVariable1}"
printfn $"\nType of 'myVariable1' 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 Int16 = 20
  Dim myVariable2 As Int16 = 20
  
' 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(Int16) surcharges de méthode. Si une conversion implicite entre l’argument obj et un Int16 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(Int16) méthode. Sinon, ils appellent la Equals(Object) méthode, qui retourne false toujours si son obj argument n’est pas une Int16 valeur. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode. Dans le cas des valeurs et SByte des Byte valeurs, la première comparaison est retournéetrue, car le compilateur effectue automatiquement une conversion étendue et appelle la Equals(Int16) 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/Int16/Equals/equalsoverl.cs » interactive="try-dotnet » id="Snippet1 »::: :::code language="fsharp » source="~/snippets/fsharp/VS_Snippets_CLR_System/system.int16.equals/fs/equalsoverl.fs » id="Snippet1 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.int16.equals/vb/equalsoverl.vb » id="Snippet1 »::

S’applique à