Int64.Equals Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um valor que indica se essa instância é igual a um objeto especificado ou Int64.
Sobrecargas
Equals(Int64) |
Retorna um valor que indica se a instância é igual a um valor Int64 especificado. |
Equals(Object) |
Retorna um valor que indica se a instância é igual a um objeto especificado. |
Equals(Int64)
Retorna um valor que indica se a instância é igual a um valor Int64 especificado.
public:
virtual bool Equals(long obj);
public bool Equals (long obj);
override this.Equals : int64 -> bool
Public Function Equals (obj As Long) As Boolean
Parâmetros
Retornos
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(Int64) sobrecargas de método. Se uma conversão implícita entre o obj
argumento e um Int64 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(Int64) 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 Int64 valor. O exemplo a seguir ilustra a diferença no comportamento entre as duas sobrecargas de método. No caso dos valores,,,, Byte SByte Int16 UInt16 Int32 e UInt32 , a primeira comparação retorna true
porque o compilador executa automaticamente uma conversão de ampliação e chama o Equals(Int64) método, enquanto que 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.Int64.Equals/cs/equalsoverl.cs" Interactive = "try-dotnet" ID = "Snippet1":::::: linguagem de código = "FSharp" origem = "~/Samples/Snippets/FSharp/VS_Snippets_CLR_System/System.Int64.Equals/FS/equalsoverl.FS" ID = "Snippet1":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.Int64.Equals/VB/equalsoverl.vb" ID = "Snippet1":::
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 essa instância.
Retornos
true
se obj
é uma instância de um Int64 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 Int64
, comparando dois valores longos e retornando true
se eles representam o mesmo número, ou false
se não tiverem.
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
Notas aos Chamadores
A resolução de sobrecarga do compilador pode considerar uma diferença aparente no comportamento das duas Equals(Int64) sobrecargas de método. Se uma conversão implícita entre o obj
argumento e um Int64 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(Int64) 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 Int64 valor. O exemplo a seguir ilustra a diferença no comportamento entre as duas sobrecargas de método. No caso dos valores,,,, Byte SByte Int16 UInt16 Int32 e UInt32 , a primeira comparação retorna true
porque o compilador executa automaticamente uma conversão de ampliação e chama o Equals(Int64) método, enquanto que 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.Int64.Equals/cs/equalsoverl.cs" Interactive = "try-dotnet" ID = "Snippet1":::::: linguagem de código = "FSharp" origem = "~/Samples/Snippets/FSharp/VS_Snippets_CLR_System/System.Int64.Equals/FS/equalsoverl.FS" ID = "Snippet1":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.Int64.Equals/VB/equalsoverl.vb" ID = "Snippet1":::