Int16.Equals Yöntem

Tanım

Bu örneğin belirtilen bir nesneye veya değerine eşit olup olmadığını belirten bir değer Int16 döndürür.

Aşırı Yüklemeler

Equals(Int16)

Bu örneğin belirtilen değere eşit olup olmadığını belirten bir değer Int16 döndürür.

Equals(Object)

Bu örneğin, belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

Equals(Int16)

Bu örneğin belirtilen değere eşit olup olmadığını belirten bir değer Int16 döndürür.

public:
 virtual bool Equals(short obj);
public bool Equals (short obj);
override this.Equals : int16 -> bool
Public Function Equals (obj As Short) As Boolean

Parametreler

obj
Int16

Bu Int16 örnekle karşılaştıran bir değer.

Döndürülenler

Boolean

true bu obj örnekle aynı değere sahipse, değilse, false .

Uygulamalar

Açıklamalar

Bu yöntem arabirimini gerçekleştirir ve parametresini bir nesneye dönüştürmesi gerekmesi nedeniyle biraz daha System.IEquatable<T> Equals iyi performans obj gösterir.

Arayanlara Notlar

Derleyici aşırı yükleme çözümlemesi, iki yöntem aşırı yüklemesi davranışında belirgin bir Equals(Int16) farka neden olabilir. bağımsız değişkeni ile arasında örtülü bir dönüştürme tanımlanmışsa ve bağımsız değişken olarak yazlanmamışsa, derleyiciler örtülü bir dönüştürme işlemi gerçekleştirecek ve obj Int16 yöntemini Object Equals(Int16) çağıran. Aksi takdirde yöntemini Equals(Object) çağırarak bağımsız değişkeni bir false değer değilse her zaman obj Int16 döndürür. Aşağıdaki örnek, iki yöntem aşırı yüklemesi arasındaki davranış farkını göstermektedir. ve değerleri durumunda, derleyici otomatik olarak bir genişleten dönüştürme işlemi gerçekleştirerek yöntemini çağıran ilk karşılaştırmayı döndürürken, ikinci karşılaştırma ise derleyici yöntemini çağırarak Byte SByte true Equals(Int16) false Equals(Object) döndürür.

using System;

public class Example
{
   static short value = 112;

   public static void Main()
   {
      byte byte1= 112;
      Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1));
      TestObjectForEquality(byte1);

      int int1 = 112;
      Console.WriteLine("value = int1: {0,17}", value.Equals(int1));
      TestObjectForEquality(int1);

      sbyte sbyte1 = 112;
      Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1));
      TestObjectForEquality(sbyte1);

      ushort ushort1 = 112;
      Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1));
      TestObjectForEquality(ushort1);

      decimal dec1 = 112m;
      Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1));
      TestObjectForEquality(dec1);

      double dbl1 = 112;
      Console.WriteLine("value = dbl1: {0,19}", 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 (Int16) = 112 (Byte): False
//
//       value = int1:             False
//       112 (Int16) = 112 (Int32): False
//
//       value = sbyte1:            True
//       112 (Int16) = 112 (SByte): False
//
//       value = ushort1:            False
//       112 (Int16) = 112 (UInt16): False
//
//       value = dec1:                False
//       112 (Int16) = 112 (Decimal): False
//
//       value = dbl1:               False
//       112 (Int16) = 112 (Double): False

Ayrıca bkz.

Şunlara uygulanır

Equals(Object)

Bu örneğin, belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

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

Parametreler

obj
Object

Bu örnekle karşılaştırılacak bir nesne.

Döndürülenler

Boolean

true bir obj örneği ise ve bu örneğin Int16 değerine eşittir; değilse, false .

Örnekler

Aşağıdaki kod örneği, iki kısa değeri karşılaştırarak ve aynı s numarayı temsil eden veya temsil etmiyorsa döndüren bağlamında kullanımını Equals Int16 true false gösterir.

Int16 myVariable1 = 20;
Int16 myVariable2 = 20;

// Get and 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" );
Int16 myVariable1 = 20;
Int16 myVariable2 = 20;

// Get and 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");
let myVariable1 = 20s
let myVariable2 = 20s

// Get and display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is: {myVariable1}"
printfn $"\nType of 'myVariable1' is '{myVariable2.GetType()}' and value is: {myVariable2}"

// Compare 'myVariable1' instance with 'myVariable2' Object.
if myVariable1.Equals myVariable2 then
    printfn "\nStructures 'myVariable1' and 'myVariable2' are equal"
else
    printfn "\nStructures 'myVariable1' and 'myVariable2' are not equal"
  Dim myVariable1 As Int16 = 20
  Dim myVariable2 As Int16 = 20
  
' Get and 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

Arayanlara Notlar

Derleyici aşırı yükleme çözümlemesi, iki yöntem aşırı yüklemesi davranışında belirgin bir Equals(Int16) farka neden olabilir. bağımsız değişkeni ile arasında örtülü bir dönüştürme tanımlanmışsa ve bağımsız değişken olarak yazlanmamışsa, derleyiciler örtülü bir dönüştürme işlemi gerçekleştirecek ve obj Int16 yöntemini Object Equals(Int16) çağıran. Aksi takdirde yöntemini Equals(Object) çağırarak bağımsız değişkeni bir false değer değilse her zaman obj Int16 döndürür. Aşağıdaki örnek, iki yöntem aşırı yüklemesi arasındaki davranış farkını göstermektedir. ve değerleri durumunda, derleyici otomatik olarak bir genişleten dönüştürme işlemi gerçekleştirerek yöntemini çağıran ilk karşılaştırmayı döndürürken, ikinci karşılaştırma ise derleyici yöntemini çağırarak Byte SByte true Equals(Int16) false Equals(Object) döndürür.

using System;

public class Example
{
   static short value = 112;

   public static void Main()
   {
      byte byte1= 112;
      Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1));
      TestObjectForEquality(byte1);

      int int1 = 112;
      Console.WriteLine("value = int1: {0,17}", value.Equals(int1));
      TestObjectForEquality(int1);

      sbyte sbyte1 = 112;
      Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1));
      TestObjectForEquality(sbyte1);

      ushort ushort1 = 112;
      Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1));
      TestObjectForEquality(ushort1);

      decimal dec1 = 112m;
      Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1));
      TestObjectForEquality(dec1);

      double dbl1 = 112;
      Console.WriteLine("value = dbl1: {0,19}", 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 (Int16) = 112 (Byte): False
//
//       value = int1:             False
//       112 (Int16) = 112 (Int32): False
//
//       value = sbyte1:            True
//       112 (Int16) = 112 (SByte): False
//
//       value = ushort1:            False
//       112 (Int16) = 112 (UInt16): False
//
//       value = dec1:                False
//       112 (Int16) = 112 (Decimal): False
//
//       value = dbl1:               False
//       112 (Int16) = 112 (Double): False

Şunlara uygulanır