Compartir a través de


UInt16.Equals Método

Definición

Devuelve un valor que indica si esta instancia equivale a un objeto especificado o a un valor UInt16.

Sobrecargas

Equals(Object)

Devuelve un valor que indica si esta instancia equivale a un objeto especificado.

Equals(UInt16)

Devuelve un valor que indica si esta instancia equivale a un valor de UInt16 especificado.

Equals(Object)

Devuelve un valor que indica si esta instancia equivale a un objeto especificado.

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

Parámetros

obj
Object

Un objeto que se va a comparar con esta instancia.

Devoluciones

Boolean

true si obj es una instancia de UInt16 y es igual al valor de esta instancia; en caso contrario, false.

Ejemplos

En el siguiente ejemplo se muestra el Equals método.

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

Notas a los autores de las llamadas

La resolución de sobrecargas del compilador puede tener en cuenta una diferencia aparente en el comportamiento de las dos Equals(UInt16) sobrecargas de método. Si se define una conversión implícita entre el argumento y un y el argumento no se escribe como , los compiladores realizan una conversión implícita y obj UInt16 llaman al método Object Equals(UInt16) . De lo contrario, llaman Equals(Object) al método , que siempre devuelve si su argumento no es un false obj UInt16 valor. En el ejemplo siguiente se muestra la diferencia de comportamiento entre las dos sobrecargas de método. En el caso de un valor, la primera comparación devuelve porque el compilador realiza automáticamente una conversión de ampliación y llama al método , mientras que la segunda comparación devuelve porque el compilador llama al Byte true método 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

Se aplica a

Equals(UInt16)

Devuelve un valor que indica si esta instancia equivale a un valor de UInt16 especificado.

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

Parámetros

obj
UInt16

Un entero de 16 bits sin signo que se va a comparar con esta instancia.

Devoluciones

Boolean

true si el valor de obj tiene el mismo valor que esta instancia; en caso contrario, false.

Implementaciones

Comentarios

Este método implementa la interfaz y funciona ligeramente mejor que porque no tiene que convertir el System.IEquatable<T> parámetro en un objeto Equals obj .

Notas a los autores de las llamadas

La resolución de sobrecargas del compilador puede tener en cuenta una diferencia aparente en el comportamiento de las dos Equals(UInt16) sobrecargas de método. Si se define una conversión implícita entre el argumento y un y el argumento no se escribe como , los compiladores realizan una conversión implícita y obj UInt16 llaman al método Object Equals(UInt16) . De lo contrario, llaman Equals(Object) al método , que siempre devuelve si su argumento no es un false obj UInt16 valor. En el ejemplo siguiente se muestra la diferencia de comportamiento entre las dos sobrecargas de método. En el caso de un valor, la primera comparación devuelve porque el compilador realiza automáticamente una conversión de ampliación y llama al método , mientras que la segunda comparación devuelve porque el compilador llama al Byte true método 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

Se aplica a