UInt16.Equals Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu určující, zda je tato instance rovna zadanému objektu nebo UInt16 .
Přetížení
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. |
Equals(UInt16) |
Vrátí hodnotu určující, zda je tato instance rovna zadané UInt16 hodnotě. |
Equals(Object)
Vrací hodnotu, která určuje, 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 k porovnání s touto instancí.
Návraty
true
pokud obj
je instance a rovná se hodnotě této UInt16 instance; jinak hodnota false
.
Příklady
Následující příklad ukazuje Equals metodu .
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
Poznámky pro volající
Rozlišení přetížení kompilátoru může zohlednit zjevný rozdíl v chování dvou Equals(UInt16) přetížení metody. Pokud je definován implicitní převod mezi argumentem a argumentem a argument není typován jako , kompilátory provádějí implicitní převod obj
UInt16 a Object volají Equals(UInt16) metodu . V opačném případě volají Equals(Object) metodu , která vždy vrátí hodnotu, pokud false
její argument není obj
UInt16 hodnota. Následující příklad ukazuje rozdíl v chování mezi těmito dvěma přetíženími metody. V případě hodnoty vrátí první porovnání, protože kompilátor automaticky provádí rozšiřující převod a volá metodu , zatímco druhé porovnání vrátí , protože kompilátor volá Byte true
Equals(UInt16) false
Equals(Object) metodu .
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
Platí pro
Equals(UInt16)
Vrátí hodnotu určující, zda je tato instance rovna zadané UInt16 hodnotě.
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
16bitový soubor unsigned integer porovnání s touto instancí.
Návraty
true
pokud obj
má stejnou hodnotu jako tato instance, jinak hodnota false
.
Implementuje
Poznámky
Tato metoda implementuje rozhraní a má trochu lepší výkon než , protože nemusí převést System.IEquatable<T> Equals parametr na obj
objekt.
Poznámky pro volající
Rozlišení přetížení kompilátoru může zohlednit zjevný rozdíl v chování dvou Equals(UInt16) přetížení metody. Pokud je definován implicitní převod mezi argumentem a argumentem a argument není typován jako , kompilátory provádějí implicitní převod obj
UInt16 a Object volají Equals(UInt16) metodu . V opačném případě volají Equals(Object) metodu , která vždy vrátí hodnotu, pokud false
její argument není obj
UInt16 hodnota. Následující příklad ukazuje rozdíl v chování mezi těmito dvěma přetíženími metody. V případě hodnoty vrátí první porovnání, protože kompilátor automaticky provádí rozšiřující převod a volá metodu , zatímco druhé porovnání vrátí , protože kompilátor volá Byte true
Equals(UInt16) false
Equals(Object) metodu .
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