Partilhar via


Int16.Equals Método

Definição

Retorna um valor que indica se essa instância é igual a um objeto especificado ou Int16.

Sobrecargas

Equals(Int16)

Retorna um valor que indica se a instância é igual a um valor Int16 especificado.

Equals(Object)

Retorna um valor que indica se a instância é igual a um objeto especificado.

Equals(Int16)

Retorna um valor que indica se a instância é igual a um valor Int16 especificado.

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

Parâmetros

obj
Int16

Um valor Int16 a ser comparado com a instância.

Retornos

Boolean

true caso obj tenha o mesmo valor da instância; caso contrário, false.

Implementações

Comentários

Esse método implementa a System.IEquatable<T> interface e executa um pouco melhor do que Equals porque não precisa converter o obj parâmetro em um objeto.

Notas aos Chamadores

A resolução de sobrecarga do compilador pode considerar uma diferença aparente no comportamento das duas Equals(Int16) sobrecargas de método. Se uma conversão implícita entre o obj argumento e um Int16 for definida e o argumento não for digitado como um Object , os compiladores executarão uma conversão implícita e chamarão o Equals(Int16) método. Caso contrário, eles chamarão o Equals(Object) método, que sempre retorna false se o obj argumento não for um Int16 valor. O exemplo a seguir ilustra a diferença no comportamento entre as duas sobrecargas de método. No caso dos Byte SByte valores e, a primeira comparação retorna true porque o compilador executa automaticamente uma conversão de ampliação e chama o Equals(Int16) método, enquanto a segunda comparação retorna false porque o compilador chama o Equals(Object) método.

::: código Language = "CSharp" origem = "~/Samples/Snippets/Csharp/VS_Snippets_CLR_System/System.Int16.Equals/cs/equalsoverl.cs" Interactive = "try-dotnet" ID = "Snippet1":::::: linguagem de código = "FSharp" origem = "~/Samples/Snippets/FSharp/VS_Snippets_CLR_System/System.Int16.Equals/FS/equalsoverl.FS" ID = "Snippet1":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.Int16.Equals/VB/equalsoverl.vb" ID = "Snippet1":::

Confira também

Aplica-se a

Equals(Object)

Retorna um valor que indica se a instância é igual a um objeto especificado.

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

Parâmetros

obj
Object

Um objeto a ser comparado com a instância.

Retornos

Boolean

true se obj é uma instância de Int16 e é igual ao valor dessa instância; caso contrário, false.

Exemplos

O exemplo de código a seguir ilustra o uso de Equals no contexto de Int16 , comparando dois valores curtos e retornando true se eles representam o mesmo número, ou false se não tiverem.

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

Notas aos Chamadores

A resolução de sobrecarga do compilador pode considerar uma diferença aparente no comportamento das duas Equals(Int16) sobrecargas de método. Se uma conversão implícita entre o obj argumento e um Int16 for definida e o argumento não for digitado como um Object , os compiladores executarão uma conversão implícita e chamarão o Equals(Int16) método. Caso contrário, eles chamarão o Equals(Object) método, que sempre retorna false se o obj argumento não for um Int16 valor. O exemplo a seguir ilustra a diferença no comportamento entre as duas sobrecargas de método. No caso dos Byte SByte valores e, a primeira comparação retorna true porque o compilador executa automaticamente uma conversão de ampliação e chama o Equals(Int16) método, enquanto a segunda comparação retorna false porque o compilador chama o Equals(Object) método.

::: código Language = "CSharp" origem = "~/Samples/Snippets/Csharp/VS_Snippets_CLR_System/System.Int16.Equals/cs/equalsoverl.cs" Interactive = "try-dotnet" ID = "Snippet1":::::: linguagem de código = "FSharp" origem = "~/Samples/Snippets/FSharp/VS_Snippets_CLR_System/System.Int16.Equals/FS/equalsoverl.FS" ID = "Snippet1":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.Int16.Equals/VB/equalsoverl.vb" ID = "Snippet1":::

Aplica-se a