UInt64.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 UInt64.
Sobrecargas
Equals(Object) |
Retorna um valor que indica se a instância é igual a um objeto especificado. |
Equals(UInt64) |
Retorna um valor que indica se a instância é igual a um valor UInt64 especificado. |
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
true
se obj
é uma instância de UInt64 e é igual ao valor dessa instância; caso contrário, false
.
Exemplos
O exemplo a seguir demonstra o Equals método.
using System;
public class Example
{
public static void Main()
{
object[] values = { (short) 10, (short) 20, 10, 20,
10L, 20L, 10D, 20D, (ushort) 10,
(ushort) 20, 10U, 20U,
10ul, 20ul };
UInt64 baseValue = 20;
String baseType = baseValue.GetType().Name;
foreach (var value in values)
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
baseValue, baseType,
value, value.GetType().Name,
baseValue.Equals(value));
}
}
// The example displays the following output:
// 20 (UInt64) = 10 (Int16): False
// 20 (UInt64) = 20 (Int16): False
// 20 (UInt64) = 10 (Int32): False
// 20 (UInt64) = 20 (Int32): False
// 20 (UInt64) = 10 (Int64): False
// 20 (UInt64) = 20 (Int64): False
// 20 (UInt64) = 10 (Double): False
// 20 (UInt64) = 20 (Double): False
// 20 (UInt64) = 10 (UInt16): False
// 20 (UInt64) = 20 (UInt16): False
// 20 (UInt64) = 10 (UInt32): False
// 20 (UInt64) = 20 (UInt32): False
// 20 (UInt64) = 10 (UInt64): False
// 20 (UInt64) = 20 (UInt64): True
Module Example
Public Sub Main()
Dim values() As Object = { 10S, 20S, 10I, 20I, 10L, 20L,
10R, 20R, 10US, 20US, 10UI, 20UI,
10UL, 20UL }
Dim baseValue As UInt64 = 20
Dim baseType As String = baseValue.GetType().Name
For Each value In values
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
baseValue, baseType,
value, value.GetType().Name,
baseValue.Equals(value))
Next
End Sub
End Module
' The example displays the following output:
' 20 (UInt64) = 10 (Int16): False
' 20 (UInt64) = 20 (Int16): False
' 20 (UInt64) = 10 (Int32): False
' 20 (UInt64) = 20 (Int32): False
' 20 (UInt64) = 10 (Int64): False
' 20 (UInt64) = 20 (Int64): False
' 20 (UInt64) = 10 (Double): False
' 20 (UInt64) = 20 (Double): False
' 20 (UInt64) = 10 (UInt16): False
' 20 (UInt64) = 20 (UInt16): False
' 20 (UInt64) = 10 (UInt32): False
' 20 (UInt64) = 20 (UInt32): False
' 20 (UInt64) = 10 (UInt64): False
' 20 (UInt64) = 20 (UInt64): True
Notas aos Chamadores
A resolução de sobrecarga do compilador pode considerar uma diferença aparente no comportamento das duas Equals(UInt64) sobrecargas de método. Se uma conversão implícita entre o obj
argumento e um UInt64 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(UInt64) 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 UInt64 valor. O exemplo a seguir ilustra a diferença no comportamento entre as duas sobrecargas de método. No caso dos Byte UInt16 valores,, e UInt32 , a primeira comparação retorna true
porque o compilador executa automaticamente uma conversão de ampliação e chama o Equals(UInt64) 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.UInt64.Equals/cs/equalsoverl.cs" ID = "Snippet2":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.UInt64.Equals/VB/equalsoverl.vb" ID = "Snippet2":::
Confira também
Aplica-se a
Equals(UInt64)
Retorna um valor que indica se a instância é igual a um valor UInt64 especificado.
public:
virtual bool Equals(System::UInt64 obj);
public bool Equals (ulong obj);
override this.Equals : uint64 -> bool
Public Function Equals (obj As ULong) As Boolean
Parâmetros
Retornos
true
caso obj
tenha o mesmo valor da instância; caso contrário, false
.
Implementações
Exemplos
O exemplo a seguir demonstra o Equals método.
using namespace System;
int main()
{
UInt64 value1 = 50;
UInt64 value2 = 50;
// Display the values.
Console::WriteLine("value1: Type: {0} Value: {1}",
value1.GetType()->Name, value1);
Console::WriteLine("value2: Type: {0} Value: {1}",
value2.GetType()->Name, value2);
// Compare the two values.
Console::WriteLine("value1 and value2 are equal: {0}",
value1.Equals(value2));
}
// The example displays the following output:
// value1: Type: UInt64 Value: 50
// value2: Type: UInt64 Value: 50
// value1 and value2 are equal: True
using System;
class Example
{
public static void Main()
{
UInt64 value1 = 50;
UInt64 value2 = 50;
// Display the values.
Console.WriteLine("value1: Type: {0} Value: {1}",
value1.GetType().Name, value1);
Console.WriteLine("value2: Type: {0} Value: {1}",
value2.GetType().Name, value2);
// Compare the two values.
Console.WriteLine("value1 and value2 are equal: {0}",
value1.Equals(value2));
}
}
// The example displays the following output:
// value1: Type: UInt64 Value: 50
// value2: Type: UInt64 Value: 50
// value1 and value2 are equal: True
Class Example
Public Shared Sub Main()
Dim value1 As UInt64 = 50
Dim value2 As UInt64 = 50
'Display the values.
Console.WriteLine("value1: Type: {0} Value: {1}",
value1.GetType().Name, value1)
Console.WriteLine("value2: Type: {0} Value: {1}",
value2.GetType().Name, value2)
' Compare the two values.
Console.WriteLine("value1 and value2 are equal: {0}",
value1.Equals(value2))
End Sub
End Class
' The example displays the following output:
' value1: Type: UInt64 Value: 50
' value2: Type: UInt64 Value: 50
' value1 and value2 are equal: True
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(UInt64) sobrecargas de método. Se uma conversão implícita entre o obj
argumento e um UInt64 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(UInt64) 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 UInt64 valor. O exemplo a seguir ilustra a diferença no comportamento entre as duas sobrecargas de método. No caso dos Byte UInt16 valores,, e UInt32 , a primeira comparação retorna true
porque o compilador executa automaticamente uma conversão de ampliação e chama o Equals(UInt64) 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.UInt64.Equals/cs/equalsoverl.cs" ID = "Snippet2":::::: linguagem de código = "vb" Source = "~/Samples/Snippets/VisualBasic/VS_Snippets_CLR_System/System.UInt64.Equals/VB/equalsoverl.vb" ID = "Snippet2":::