Compartilhar via


UInt64.Equals Método

Definição

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

Boolean

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

obj
UInt64

Um valor UInt64 a ser comparado a essa instância.

Retornos

Boolean

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":::

Aplica-se a