UInt64.Equals Metoda

Definice

Vrátí hodnotu určující, zda je tato instance rovna zadanému objektu nebo UInt64.

Přetížení

Name Description
Equals(Object)

Vrátí hodnotu určující, zda je tato instance rovna zadanému objektu.

Equals(UInt64)

Vrátí hodnotu určující, zda je tato instance rovna zadané UInt64 hodnotě.

Equals(Object)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Vrátí hodnotu určující, zda je tato instance rovna zadanému objektu.

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

Parametry

obj
Object

Objekt, který se má porovnat s touto instancí.

Návraty

truepokud obj je instance této instance UInt64 a rovná se hodnotě této instance; v opačném případě . false

Příklady

Následující příklad ukazuje metodu Equals .

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
let values: obj[] = 
    [| 10s; 20s; 10; 20
       10L; 20L; 10.; 20.; 10us
       20us; 10u; 20u
       10uL; 20uL |]
let baseValue = 20uL
let baseType = baseValue.GetType().Name

for value in values do
    printfn $"{baseValue} ({baseType}) = {value} ({value.GetType().Name}): {value.GetType().Name}"
// 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

Poznámky pro volající

Rozlišení přetížení kompilátoru může zohledňovat zjevné rozdíly v chování dvou Equals(UInt64) přetížení metody. Pokud je definován implicitní převod mezi obj argumentem a a UInt64 argument není zadán jako Object, kompilátory provádějí implicitní převod a volají metodu Equals(UInt64) . Jinak volají metodu Equals(Object) , která vždy vrátí false , pokud jeho obj argument není UInt64 hodnota. Následující příklad ukazuje rozdíl v chování mezi přetíženími dvou metod. V případě , a hodnoty, první porovnání vrátíByte, protože kompilátor automaticky provede rozšiřující převod a volá metoduUInt16, zatímco druhé porovnání vrátíUInt32, protože kompilátor volá metodutrue.Equals(UInt64)falseEquals(Object)

using System;

public class Example
{
   static ulong value = 112;
   
   public static void Main()
   {
      byte byte1= 112;
      Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1));
      TestObjectForEquality(byte1);

      short short1 = 112;
      Console.WriteLine("value = short1: {0,17}", value.Equals(short1));
      TestObjectForEquality(short1);

      int int1 = 112;
      Console.WriteLine("value = int1: {0,19}", value.Equals(int1));
      TestObjectForEquality(int1);

      sbyte sbyte1 = 112;
      Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1));
      TestObjectForEquality(sbyte1);

      ushort ushort1 = 112;
      Console.WriteLine("value = ushort1: {0,16}", value.Equals(ushort1));
      TestObjectForEquality(ushort1);

      uint uint1 = 112;
      Console.WriteLine("value = uint1: {0,18}", value.Equals(uint1));
      TestObjectForEquality(uint1);

      decimal dec1 = 112m;
      Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1));
      TestObjectForEquality(dec1);

      double dbl1 = 112;
      Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1));
      TestObjectForEquality(dbl1);
   }

   private static void TestObjectForEquality(Object obj)
   {
      Console.WriteLine("{0} ({1}) = {2} ({3}): {4}\n",
                        value, value.GetType().Name,
                        obj, obj.GetType().Name,
                        value.Equals(obj));
   }
}
// The example displays the following output:
//       value = byte1:             True
//       112 (UInt64) = 112 (Byte): False
//
//       value = short1:             False
//       112 (UInt64) = 112 (Int16): False
//
//       value = int1:               False
//       112 (UInt64) = 112 (Int32): False
//
//       value = sbyte1:             False
//       112 (UInt64) = 112 (SByte): False
//
//       value = ushort1:             True
//       112 (UInt64) = 112 (UInt16): False
//
//       value = uint1:               True
//       112 (UInt64) = 112 (UInt32): False
//
//       value = dec1:                 False
//       112 (UInt64) = 112 (Decimal): False
//
//       value = dbl1:                False
//       112 (UInt64) = 112 (Double): False
let value = 112uL

let testObjectForEquality (obj: obj) =
    printfn $"{value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n"

let byte1= 112uy
printfn $"value = byte1: {value.Equals byte1,16}"
testObjectForEquality byte1

let short1 = 112s
printfn $"value = short1: {value.Equals short1,17}"
testObjectForEquality short1

let int1 = 112
printfn $"value = int1: {value.Equals int1,19}"
testObjectForEquality int1

let sbyte1 = 112y
printfn $"value = sbyte1: {value.Equals sbyte1,17}"
testObjectForEquality sbyte1

let ushort1 = 112us
printfn $"value = ushort1: {value.Equals ushort1,16}"
testObjectForEquality ushort1

let uint1 = 112u
printfn $"value = uint1: {value.Equals uint1,18}"
testObjectForEquality uint1

let dec1 = 112m
printfn $"value = dec1: {value.Equals dec1,21}"
testObjectForEquality dec1

let dbl1 = 112.
printfn $"value = dbl1: {value.Equals dbl1,20}"
testObjectForEquality dbl1

// The example displays the following output:
//       value = byte1:             True
//       112 (UInt64) = 112 (Byte): False
//
//       value = short1:             False
//       112 (UInt64) = 112 (Int16): False
//
//       value = int1:               False
//       112 (UInt64) = 112 (Int32): False
//
//       value = sbyte1:             False
//       112 (UInt64) = 112 (SByte): False
//
//       value = ushort1:             True
//       112 (UInt64) = 112 (UInt16): False
//
//       value = uint1:               True
//       112 (UInt64) = 112 (UInt32): False
//
//       value = dec1:                 False
//       112 (UInt64) = 112 (Decimal): False
//
//       value = dbl1:                False
//       112 (UInt64) = 112 (Double): False
Module Example
   Dim value As UInt64 = 112
   
   Public Sub Main()
      Dim byte1 As Byte = 112
      Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1))
      TestObjectForEquality(byte1)
      
      Dim short1 As Short = 112
      Console.WriteLine("value = short1: {0,17}", value.Equals(short1))
      TestObjectForEquality(short1)

      Dim int1 As Integer = 112
      Console.WriteLine("value = int1: {0,19}", value.Equals(int1))
      TestObjectForEquality(int1)

      Dim sbyte1 As SByte = 112
      Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1))
      TestObjectForEquality(sbyte1)
      
      Dim ushort1 As UShort = 112
      Console.WriteLine("value = ushort1: {0,16}", value.Equals(ushort1))
      TestObjectForEquality(ushort1)

      Dim uint1 As UInteger = 112
      Console.WriteLine("value = uint1: {0,18}", value.Equals(uint1))
      TestObjectForEquality(uint1)

      Dim dec1 As Decimal = 112d
      Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1))
      TestObjectForEquality(dec1)

      Dim dbl1 As Double = 112
      Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1))
      TestObjectForEquality(dbl1)
   End Sub
   
   Private Sub TestObjectForEquality(obj As Object)
      Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
                        value, value.GetType().Name,
                        obj, obj.GetType().Name,
                        value.Equals(obj))
      Console.WriteLine()
   End Sub
End Module
' The example displays the following output:
'       value = byte1:             True
'       112 (UInt64) = 112 (Byte): False
'
'       value = short1:             False
'       112 (UInt64) = 112 (Int16): False
'
'       value = int1:               False
'       112 (UInt64) = 112 (Int32): False
'
'       value = sbyte1:             False
'       112 (UInt64) = 112 (SByte): False
'
'       value = ushort1:             True
'       112 (UInt64) = 112 (UInt16): False
'
'       value = uint1:               True
'       112 (UInt64) = 112 (UInt32): False
'
'       value = dec1:                 False
'       112 (UInt64) = 112 (Decimal): False
'
'       value = dbl1:                False
'       112 (UInt64) = 112 (Double): False

Viz také

Platí pro

Equals(UInt64)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Vrátí hodnotu určující, zda je tato instance rovna zadané UInt64 hodnotě.

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

Parametry

obj
UInt64

Hodnota UInt64 , která se má porovnat s touto instancí.

Návraty

truepokud obj má stejnou hodnotu jako tato instance, jinak . false

Implementuje

Příklady

Následující příklad ukazuje metodu Equals .

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
let value1 = 50uL
let value2 = 50uL

// Display the values.
printfn $"value1:   Type: {value1.GetType().Name}   Value: {value1}"
printfn $"value2:   Type: {value2.GetType().Name}   Value: {value2}"

// Compare the two values.
printfn $"value1 and value2 are equal: {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

Poznámky

Tato metoda implementuje System.IEquatable<T> rozhraní a provádí mírně lépe, než Equals protože nemusí převést obj parametr na objekt.

Poznámky pro volající

Rozlišení přetížení kompilátoru může zohledňovat zjevné rozdíly v chování dvou Equals(UInt64) přetížení metody. Pokud je definován implicitní převod mezi obj argumentem a a UInt64 argument není zadán jako Object, kompilátory provádějí implicitní převod a volají metodu Equals(UInt64) . Jinak volají metodu Equals(Object) , která vždy vrátí false , pokud jeho obj argument není UInt64 hodnota. Následující příklad ukazuje rozdíl v chování mezi přetíženími dvou metod. V případě , a hodnoty, první porovnání vrátíByte, protože kompilátor automaticky provede rozšiřující převod a volá metoduUInt16, zatímco druhé porovnání vrátíUInt32, protože kompilátor volá metodutrue.Equals(UInt64)falseEquals(Object)

using System;

public class Example
{
   static ulong value = 112;
   
   public static void Main()
   {
      byte byte1= 112;
      Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1));
      TestObjectForEquality(byte1);

      short short1 = 112;
      Console.WriteLine("value = short1: {0,17}", value.Equals(short1));
      TestObjectForEquality(short1);

      int int1 = 112;
      Console.WriteLine("value = int1: {0,19}", value.Equals(int1));
      TestObjectForEquality(int1);

      sbyte sbyte1 = 112;
      Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1));
      TestObjectForEquality(sbyte1);

      ushort ushort1 = 112;
      Console.WriteLine("value = ushort1: {0,16}", value.Equals(ushort1));
      TestObjectForEquality(ushort1);

      uint uint1 = 112;
      Console.WriteLine("value = uint1: {0,18}", value.Equals(uint1));
      TestObjectForEquality(uint1);

      decimal dec1 = 112m;
      Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1));
      TestObjectForEquality(dec1);

      double dbl1 = 112;
      Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1));
      TestObjectForEquality(dbl1);
   }

   private static void TestObjectForEquality(Object obj)
   {
      Console.WriteLine("{0} ({1}) = {2} ({3}): {4}\n",
                        value, value.GetType().Name,
                        obj, obj.GetType().Name,
                        value.Equals(obj));
   }
}
// The example displays the following output:
//       value = byte1:             True
//       112 (UInt64) = 112 (Byte): False
//
//       value = short1:             False
//       112 (UInt64) = 112 (Int16): False
//
//       value = int1:               False
//       112 (UInt64) = 112 (Int32): False
//
//       value = sbyte1:             False
//       112 (UInt64) = 112 (SByte): False
//
//       value = ushort1:             True
//       112 (UInt64) = 112 (UInt16): False
//
//       value = uint1:               True
//       112 (UInt64) = 112 (UInt32): False
//
//       value = dec1:                 False
//       112 (UInt64) = 112 (Decimal): False
//
//       value = dbl1:                False
//       112 (UInt64) = 112 (Double): False
let value = 112uL

let testObjectForEquality (obj: obj) =
    printfn $"{value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n"

let byte1= 112uy
printfn $"value = byte1: {value.Equals byte1,16}"
testObjectForEquality byte1

let short1 = 112s
printfn $"value = short1: {value.Equals short1,17}"
testObjectForEquality short1

let int1 = 112
printfn $"value = int1: {value.Equals int1,19}"
testObjectForEquality int1

let sbyte1 = 112y
printfn $"value = sbyte1: {value.Equals sbyte1,17}"
testObjectForEquality sbyte1

let ushort1 = 112us
printfn $"value = ushort1: {value.Equals ushort1,16}"
testObjectForEquality ushort1

let uint1 = 112u
printfn $"value = uint1: {value.Equals uint1,18}"
testObjectForEquality uint1

let dec1 = 112m
printfn $"value = dec1: {value.Equals dec1,21}"
testObjectForEquality dec1

let dbl1 = 112.
printfn $"value = dbl1: {value.Equals dbl1,20}"
testObjectForEquality dbl1

// The example displays the following output:
//       value = byte1:             True
//       112 (UInt64) = 112 (Byte): False
//
//       value = short1:             False
//       112 (UInt64) = 112 (Int16): False
//
//       value = int1:               False
//       112 (UInt64) = 112 (Int32): False
//
//       value = sbyte1:             False
//       112 (UInt64) = 112 (SByte): False
//
//       value = ushort1:             True
//       112 (UInt64) = 112 (UInt16): False
//
//       value = uint1:               True
//       112 (UInt64) = 112 (UInt32): False
//
//       value = dec1:                 False
//       112 (UInt64) = 112 (Decimal): False
//
//       value = dbl1:                False
//       112 (UInt64) = 112 (Double): False
Module Example
   Dim value As UInt64 = 112
   
   Public Sub Main()
      Dim byte1 As Byte = 112
      Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1))
      TestObjectForEquality(byte1)
      
      Dim short1 As Short = 112
      Console.WriteLine("value = short1: {0,17}", value.Equals(short1))
      TestObjectForEquality(short1)

      Dim int1 As Integer = 112
      Console.WriteLine("value = int1: {0,19}", value.Equals(int1))
      TestObjectForEquality(int1)

      Dim sbyte1 As SByte = 112
      Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1))
      TestObjectForEquality(sbyte1)
      
      Dim ushort1 As UShort = 112
      Console.WriteLine("value = ushort1: {0,16}", value.Equals(ushort1))
      TestObjectForEquality(ushort1)

      Dim uint1 As UInteger = 112
      Console.WriteLine("value = uint1: {0,18}", value.Equals(uint1))
      TestObjectForEquality(uint1)

      Dim dec1 As Decimal = 112d
      Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1))
      TestObjectForEquality(dec1)

      Dim dbl1 As Double = 112
      Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1))
      TestObjectForEquality(dbl1)
   End Sub
   
   Private Sub TestObjectForEquality(obj As Object)
      Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
                        value, value.GetType().Name,
                        obj, obj.GetType().Name,
                        value.Equals(obj))
      Console.WriteLine()
   End Sub
End Module
' The example displays the following output:
'       value = byte1:             True
'       112 (UInt64) = 112 (Byte): False
'
'       value = short1:             False
'       112 (UInt64) = 112 (Int16): False
'
'       value = int1:               False
'       112 (UInt64) = 112 (Int32): False
'
'       value = sbyte1:             False
'       112 (UInt64) = 112 (SByte): False
'
'       value = ushort1:             True
'       112 (UInt64) = 112 (UInt16): False
'
'       value = uint1:               True
'       112 (UInt64) = 112 (UInt32): False
'
'       value = dec1:                 False
'       112 (UInt64) = 112 (Decimal): False
'
'       value = dbl1:                False
'       112 (UInt64) = 112 (Double): False

Platí pro