UInt16.Equals Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca wartość wskazującą, czy to wystąpienie jest równe określoneowi obiektowi, czy UInt16 .
Przeciążenia
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. |
Equals(UInt16) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonej UInt16 wartości. |
Equals(Object)
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.
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
Obiekt, który ma zostać porównany z tym wystąpieniem.
Zwraca
true
jeśli obj
element jest wystąpieniem klasy i jest równa wartości tego wystąpienia; w przeciwnym UInt16 razie wartość false
.
Przykłady
W poniższym przykładzie pokazano Equals metodę .
UInt16 myVariable1 = 10;
UInt16 myVariable2 = 10;
//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" );
UInt16 myVariable1 = 10;
UInt16 myVariable2 = 10;
//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 UInt16 = UInt16.Parse(10)
Dim myVariable2 As UInt16 = UInt16.Parse(10)
' 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
Uwagi dotyczące wywoływania
Rozpoznanie przeciążenia kompilatora może uwzględniać widoczną różnicę w zachowaniu dwóch Equals(UInt16) przeciążeń metody. Jeśli zdefiniowano niejawną konwersję między argumentem a argumentem , a argument nie został wpisany jako obj
, kompilatory wykonują niejawną konwersję i UInt16 wywołują metodę Object Equals(UInt16) . W przeciwnym razie wywołują metodę , która zawsze zwraca wartość , Equals(Object) jeśli jej argument nie jest false
obj
UInt16 wartością. Poniższy przykład ilustruje różnicę w zachowaniu między dwoma przeciążeniami metody. W przypadku wartości pierwsze porównanie zwraca wartość , ponieważ kompilator automatycznie wykonuje konwersję poszerzania i wywołuje metodę , natomiast drugie porównanie zwraca wartość, ponieważ kompilator wywołuje Byte true
metodę Equals(UInt16) false
Equals(Object) .
using System;
public class Example
{
static ushort 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);
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 (UInt16) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt16) = 112 (Int16): False
//
// value = int1: False
// 112 (UInt16) = 112 (Int32): False
//
// value = sbyte1: False
// 112 (UInt16) = 112 (SByte): False
//
// value = dec1: False
// 112 (UInt16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt16) = 112 (Double): False
Dotyczy
Equals(UInt16)
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonej UInt16 wartości.
public:
virtual bool Equals(System::UInt16 obj);
public bool Equals (ushort obj);
override this.Equals : uint16 -> bool
Public Function Equals (obj As UShort) As Boolean
Parametry
- obj
- UInt16
16-bitowa liczba całkowita bez znaku do porównania z tym wystąpieniem.
Zwraca
true
wartość obj
, jeśli ma taką samą wartość jak to wystąpienie; w przeciwnym razie wartość false
.
Implementuje
Uwagi
Ta metoda implementuje interfejs i działa nieco lepiej niż, ponieważ nie musi konwertować System.IEquatable<T> Equals obj
parametru na obiekt .
Uwagi dotyczące wywoływania
Rozpoznanie przeciążenia kompilatora może uwzględniać widoczną różnicę w zachowaniu dwóch Equals(UInt16) przeciążeń metody. Jeśli zdefiniowano niejawną konwersję między argumentem a argumentem , a argument nie został wpisany jako obj
, kompilatory wykonują niejawną konwersję i UInt16 wywołują metodę Object Equals(UInt16) . W przeciwnym razie wywołują metodę , która zawsze zwraca wartość , Equals(Object) jeśli jej argument nie jest false
obj
UInt16 wartością. Poniższy przykład ilustruje różnicę w zachowaniu między dwoma przeciążeniami metody. W przypadku wartości pierwsze porównanie zwraca wartość , ponieważ kompilator automatycznie wykonuje konwersję poszerzania i wywołuje metodę , natomiast drugie porównanie zwraca wartość, ponieważ kompilator wywołuje Byte true
metodę Equals(UInt16) false
Equals(Object) .
using System;
public class Example
{
static ushort 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);
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 (UInt16) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt16) = 112 (Int16): False
//
// value = int1: False
// 112 (UInt16) = 112 (Int32): False
//
// value = sbyte1: False
// 112 (UInt16) = 112 (SByte): False
//
// value = dec1: False
// 112 (UInt16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt16) = 112 (Double): False