İngilizce dilinde oku

Aracılığıyla paylaş


Int32.Equals Yöntem

Tanım

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

Aşırı Yüklemeler

Equals(Int32)

Bu örneğin belirtilen Int32 bir değere eşit olup olmadığını gösteren bir değer 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(Int32)

Kaynak:
Int32.cs
Kaynak:
Int32.cs
Kaynak:
Int32.cs

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

C#
public bool Equals (int obj);

Parametreler

obj
Int32

Int32 Bu örnekle karşılaştıracak bir değer.

Döndürülenler

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

Uygulamalar

Açıklamalar

Bu yöntem arabirimini uygular ve parametresini System.IEquatable<T> bir nesneye dönüştürmesi obj gerekmediğinden biraz daha iyi Int32.Equals(Object) performans gösterir.

Arayanlara Notlar

Derleyici aşırı yükleme çözümlemesi, iki Equals(Int32) yöntem aşırı yüklemesinin davranışında belirgin bir farka neden olabilir. Bağımsız değişken ile Int32 arasında obj örtük bir dönüştürme tanımlanmışsa ve bağımsız değişken olarak Objectyazılmazsa, derleyiciler örtük bir dönüştürme gerçekleştirir ve yöntemini çağırırEquals(Int32). Aksi takdirde, bağımsız değişkeni bir değer değilse obj her zaman döndüren false yöntemini çağırırlarEquals(Object).Int32 Aşağıdaki örnekte iki yöntem aşırı yüklemesi arasındaki davranış farkı gösterilmektedir. , , ve değerleri söz konusu olduğundaByte, derleyici otomatik olarak bir genişletme dönüştürmesi gerçekleştirip yöntemini çağırdığı Equals(Int32) için ilk karşılaştırma döndürülüyortrue, ancak derleyici yöntemini çağırdığı Equals(Object) için ikinci karşılaştırma döndürülüyorfalse.UInt16SByteInt16

C#
using System;

public class Example
{
   static int value = 112;

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

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

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

      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);

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

      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 (Int32) = 112 (Byte): False
//
//       value = short1:            True
//       112 (Int32) = 112 (Int16): False
//
//       value = long1:             False
//       112 (Int32) = 112 (Int64): False
//
//       value = sbyte1:            True
//       112 (Int32) = 112 (SByte): False
//
//       value = ushort1:            True
//       112 (Int32) = 112 (UInt16): False
//
//       value = ulong1:             False
//       112 (Int32) = 112 (UInt64): False
//
//       value = dec1:                False
//       112 (Int32) = 112 (Decimal): False
//
//       value = dbl1:               False
//       112 (Int32) = 112 (Double): False

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Equals(Object)

Kaynak:
Int32.cs
Kaynak:
Int32.cs
Kaynak:
Int32.cs

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

C#
public override bool Equals (object obj);
C#
public override bool Equals (object? obj);

Parametreler

obj
Object

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

Döndürülenler

trueörneğiyse Int32 ve bu örneğin değerine eşitseobj; değilse, false.

Örnekler

Aşağıdaki örnek, iki değeri karşılaştırarak ve aynı sayıyı temsil ediyorsa veya false göstermiyorsa döndürerek inttrue bağlamında Int32kullanımını Equals gösterir.

C#
Int32 myVariable1 = 60;
Int32 myVariable2 = 60;

// 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");

Arayanlara Notlar

Derleyici aşırı yükleme çözümlemesi, iki Equals(Int32) yöntem aşırı yüklemesinin davranışında belirgin bir farka neden olabilir. Bağımsız değişken ile Int32 arasında obj örtük bir dönüştürme tanımlanmışsa ve bağımsız değişken olarak Objectyazılmazsa, derleyiciler örtük bir dönüştürme gerçekleştirir ve yöntemini çağırırEquals(Int32). Aksi takdirde, bağımsız değişkeni bir değer değilse obj her zaman döndüren false yöntemini çağırırlarEquals(Object).Int32 Aşağıdaki örnekte iki yöntem aşırı yüklemesi arasındaki davranış farkı gösterilmektedir. , , ve değerleri söz konusu olduğundaByte, derleyici otomatik olarak bir genişletme dönüştürmesi gerçekleştirip yöntemini çağırdığı Equals(Int32) için ilk karşılaştırma döndürülüyortrue, ancak derleyici yöntemini çağırdığı Equals(Object) için ikinci karşılaştırma döndürülüyorfalse.UInt16SByteInt16

C#
using System;

public class Example
{
   static int value = 112;

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

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

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

      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);

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

      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 (Int32) = 112 (Byte): False
//
//       value = short1:            True
//       112 (Int32) = 112 (Int16): False
//
//       value = long1:             False
//       112 (Int32) = 112 (Int64): False
//
//       value = sbyte1:            True
//       112 (Int32) = 112 (SByte): False
//
//       value = ushort1:            True
//       112 (Int32) = 112 (UInt16): False
//
//       value = ulong1:             False
//       112 (Int32) = 112 (UInt64): False
//
//       value = dec1:                False
//       112 (Int32) = 112 (Decimal): False
//
//       value = dbl1:               False
//       112 (Int32) = 112 (Double): False

Ayrıca bkz.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0