UInt32.Equals Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt oder UInt32 ist.
Überlädt
Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. |
Equals(UInt32) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einer angegebenen UInt32 ist. |
Equals(Object)
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.
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
Parameter
- obj
- Object
Ein Objekt, das mit dieser Instanz verglichen werden soll.
Gibt zurück
true
, wenn obj
eine Instanz von UInt32 ist, deren Wert gleich dem Wert dieser Instanz ist, andernfalls false
.
Beispiele
Im folgenden Codebeispiel wird die -Methode Equals veranschaulicht.
UInt32 myVariable1 = 20;
UInt32 myVariable2 = 20;
// 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" );
UInt32 myVariable1 = 20;
UInt32 myVariable2 = 20;
// 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");
Dim myVariable1 As UInt32 = UInt32.Parse(20)
Dim myVariable2 As UInt32 = UInt32.Parse(20)
' 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
Hinweise für Aufrufer
Die Compilerüberladungsauflösung kann einen offensichtlichen Unterschied im Verhalten der beiden Equals(UInt32) Methodenüberladungen berücksichtigen. Wenn eine implizite Konvertierung zwischen dem Argument und einem definiert ist und das Argument nicht als typiert ist, führen Compiler eine implizite Konvertierung aus und rufen obj
UInt32 die Object -Methode Equals(UInt32) auf. Andernfalls rufen sie die Equals(Object) -Methode auf, die immer zurückgibt, false
wenn das Argument kein Wert obj
UInt32 ist. Im folgenden Beispiel wird der Unterschied im Verhalten zwischen den beiden Methodenüberladungen veranschaulicht. Bei - und -Werten wird der erste Vergleich zurückgegeben, da der Compiler automatisch eine sich ausweitende Konvertierung ausführt und die -Methode aufruft, während der zweite Vergleich zurückgibt, da der Compiler die -Methode Byte UInt16 true
Equals(UInt32) false
Equals(Object) aufruft.
using System;
public class Example
{
static uint 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);
long long1 = 112;
Console.WriteLine("value = long1: {0,18}", value.Equals(long1));
TestObjectForEquality(long1);
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);
ulong ulong1 = 112;
Console.WriteLine("value = ulong1: {0,18}", value.Equals(ulong1));
TestObjectForEquality(ulong1);
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 (UInt32) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt32) = 112 (Int16): False
//
// value = long1: False
// 112 (UInt32) = 112 (Int64): False
//
// value = sbyte1: False
// 112 (UInt32) = 112 (SByte): False
//
// value = ushort1: True
// 112 (UInt32) = 112 (UInt16): False
//
// value = ulong1: False
// 112 (UInt32) = 112 (UInt64): False
//
// value = dec1: False
// 112 (UInt32) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt32) = 112 (Double): False
Siehe auch
Gilt für:
Equals(UInt32)
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einer angegebenen UInt32 ist.
public:
virtual bool Equals(System::UInt32 obj);
public bool Equals (uint obj);
override this.Equals : uint32 -> bool
Public Function Equals (obj As UInteger) As Boolean
Parameter
- obj
- UInt32
Ein mit dieser Instanz zu vergleichender Wert.
Gibt zurück
true
, wenn obj
über denselben Wert wie diese Instanz verfügt, andernfalls false
.
Implementiert
Hinweise
Diese Methode implementiert die -Schnittstelle und bietet eine etwas bessere Leistung als die -Methode, da sie den -Parameter nicht in ein System.IEquatable<T> Equals(Object) obj
-Objekt konvertieren muss.
Hinweise für Aufrufer
Die Compilerüberladungsauflösung kann einen offensichtlichen Unterschied im Verhalten der beiden Equals(UInt32) Methodenüberladungen berücksichtigen. Wenn eine implizite Konvertierung zwischen dem Argument und einem definiert ist und das Argument nicht als typiert ist, führen Compiler eine implizite Konvertierung aus und rufen obj
UInt32 die Object -Methode Equals(UInt32) auf. Andernfalls rufen sie die Equals(Object) -Methode auf, die immer zurückgibt, false
wenn das Argument kein Wert obj
UInt32 ist. Im folgenden Beispiel wird der Unterschied im Verhalten zwischen den beiden Methodenüberladungen veranschaulicht. Bei - und -Werten wird der erste Vergleich zurückgegeben, da der Compiler automatisch eine sich ausweitende Konvertierung ausführt und die -Methode aufruft, während der zweite Vergleich zurückgibt, da der Compiler die -Methode Byte UInt16 true
Equals(UInt32) false
Equals(Object) aufruft.
using System;
public class Example
{
static uint 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);
long long1 = 112;
Console.WriteLine("value = long1: {0,18}", value.Equals(long1));
TestObjectForEquality(long1);
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);
ulong ulong1 = 112;
Console.WriteLine("value = ulong1: {0,18}", value.Equals(ulong1));
TestObjectForEquality(ulong1);
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 (UInt32) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt32) = 112 (Int16): False
//
// value = long1: False
// 112 (UInt32) = 112 (Int64): False
//
// value = sbyte1: False
// 112 (UInt32) = 112 (SByte): False
//
// value = ushort1: True
// 112 (UInt32) = 112 (UInt16): False
//
// value = ulong1: False
// 112 (UInt32) = 112 (UInt64): False
//
// value = dec1: False
// 112 (UInt32) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt32) = 112 (Double): False