UInt64.Equals Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une valeur indiquant si cette instance est égale à un objet spécifié ou à UInt64.
Surcharges
Equals(Object) |
Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. |
Equals(UInt64) |
Retourne une valeur indiquant si cette instance est égale à une valeur UInt64 spécifiée. |
Equals(Object)
Retourne une valeur indiquant si cette instance équivaut à un objet spécifié.
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
Paramètres
- obj
- Object
Objet à comparer à cette instance.
Retours
true
si obj
est une instance de UInt64 et est égal à la valeur de cette instance ; sinon, false
.
Exemples
L’exemple suivant illustre la Equals méthode.
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
Notes pour les appelants
La résolution de surcharge du compilateur peut tenir compte d’une différence apparente dans le comportement des deux Equals(UInt64) surcharges de méthode. Si une conversion implicite entre l’argument obj
et un UInt64 est défini et que l’argument n’est pas typé comme un Objectcompilateur, les compilateurs effectuent une conversion implicite et appellent la Equals(UInt64) méthode. Sinon, ils appellent la Equals(Object) méthode, qui retourne false
toujours si son obj
argument n’est pas une UInt64 valeur. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode. Dans le cas des Bytevaleurs et des valeurs UInt32 UInt16, la première comparaison retournetrue
, car le compilateur effectue automatiquement une conversion étendue et appelle la Equals(UInt64) méthode, tandis que la deuxième comparaison retourne false
parce que le compilateur appelle la Equals(Object) méthode.
::code language="csharp » source="~/snippets/csharp/System/UInt64/Equals/equalsoverl.cs » id="Snippet2 »::: :::code language="fsharp » source="~/snippets/fsharp/System/UInt64/Equals/equalsoverl.fs » id="Snippet2 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.uint64.equals/vb/equalsoverl.vb » id="Snippet2 »:::
Voir aussi
S’applique à
Equals(UInt64)
Retourne une valeur indiquant si cette instance est égale à une valeur UInt64 spécifiée.
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
Paramètres
Retours
true
si obj
possède la même valeur que cette instance ; sinon, false
.
Implémente
Exemples
L’exemple suivant illustre la Equals méthode.
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
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
Remarques
Cette méthode implémente l’interface System.IEquatable<T> et effectue légèrement mieux que Equals parce qu’elle n’a pas besoin de convertir le obj
paramètre en objet.
Notes pour les appelants
La résolution de surcharge du compilateur peut tenir compte d’une différence apparente dans le comportement des deux Equals(UInt64) surcharges de méthode. Si une conversion implicite entre l’argument obj
et un UInt64 est défini et que l’argument n’est pas typé comme un Objectcompilateur, les compilateurs effectuent une conversion implicite et appellent la Equals(UInt64) méthode. Sinon, ils appellent la Equals(Object) méthode, qui retourne false
toujours si son obj
argument n’est pas une UInt64 valeur. L’exemple suivant illustre la différence de comportement entre les deux surcharges de méthode. Dans le cas des Bytevaleurs et des valeurs UInt32 UInt16, la première comparaison retournetrue
, car le compilateur effectue automatiquement une conversion étendue et appelle la Equals(UInt64) méthode, tandis que la deuxième comparaison retourne false
parce que le compilateur appelle la Equals(Object) méthode.
::code language="csharp » source="~/snippets/csharp/System/UInt64/Equals/equalsoverl.cs » id="Snippet2 »::: :::code language="fsharp » source="~/snippets/fsharp/System/UInt64/Equals/equalsoverl.fs » id="Snippet2 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.uint64.equals/vb/equalsoverl.vb » id="Snippet2 »:::