Int32.Equals Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
public:
virtual bool Equals(int obj);
public bool Equals (int obj);
override this.Equals : int -> bool
Public Function Equals (obj As Integer) As Boolean
Parametreler
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
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
let value = 112
let testObjectForEquality (obj: obj) =
printfn $"{value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n"
let byte1 = 112uy
printfn $"value = byte1: {value.Equals(int byte1),15}"
testObjectForEquality byte1
let short1 = 112s
printfn $"value = short1: {value.Equals(int short1),15}"
testObjectForEquality short1
let long1 = 112L
printfn $"value = long1: {value.Equals(int long1),17}"
testObjectForEquality long1
let sbyte1 = 112y
printfn $"value = sbyte1: {value.Equals(int sbyte1),15}"
testObjectForEquality sbyte1
let ushort1 = 112us
printfn $"value = ushort1: {value.Equals(int ushort1),15}"
testObjectForEquality ushort1
let ulong1 = 112uL
printfn $"value = ulong1: {value.Equals(int ulong1),17}"
testObjectForEquality ulong1
let dec1 = 112M
printfn $"value = dec1: {value.Equals(int dec1),20}"
testObjectForEquality dec1
let dbl1 = 112.0
printfn $"value = dbl1: {value.Equals(int dbl1),19}"
testObjectForEquality dbl1
// 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
Module Example
Dim value As Int32 = 112
Public Sub Main()
Dim byte1 As Byte = 112
Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1))
TestObjectForEquality(byte1)
Dim short1 As Short = 112
Console.WriteLine("value = short1: {0,15}", value.Equals(short1))
TestObjectForEquality(short1)
Dim long1 As Long = 112
Console.WriteLine("value = long1: {0,17}", value.Equals(long1))
TestObjectForEquality(long1)
Dim sbyte1 As SByte = 112
Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1))
TestObjectForEquality(sbyte1)
Dim ushort1 As UShort = 112
Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1))
TestObjectForEquality(ushort1)
Dim ulong1 As ULong = 112
Console.WriteLine("value = ulong1: {0,17}", value.Equals(ulong1))
TestObjectForEquality(ulong1)
Dim dec1 As Decimal = 112d
Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1))
TestObjectForEquality(dec1)
Dim dbl1 As Double = 112
Console.WriteLine("value = dbl1: {0,19}", value.Equals(dbl1))
TestObjectForEquality(dbl1)
End Sub
Private Sub TestObjectForEquality(obj As Object)
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
value, value.GetType().Name,
obj, obj.GetType().Name,
value.Equals(obj))
Console.WriteLine()
End Sub
End Module
' 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
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.
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
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 int
true
bağlamında Int32
kullanımını Equals
gösterir.
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" );
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");
let myVariable1 = 60
let myVariable2 = 60
// Get and display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is: {myVariable1}"
printfn $"Type of 'myVariable2' 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 Int32 = 60
Dim myVariable2 As Int32 = 60
' 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 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
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
let value = 112
let testObjectForEquality (obj: obj) =
printfn $"{value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n"
let byte1 = 112uy
printfn $"value = byte1: {value.Equals(int byte1),15}"
testObjectForEquality byte1
let short1 = 112s
printfn $"value = short1: {value.Equals(int short1),15}"
testObjectForEquality short1
let long1 = 112L
printfn $"value = long1: {value.Equals(int long1),17}"
testObjectForEquality long1
let sbyte1 = 112y
printfn $"value = sbyte1: {value.Equals(int sbyte1),15}"
testObjectForEquality sbyte1
let ushort1 = 112us
printfn $"value = ushort1: {value.Equals(int ushort1),15}"
testObjectForEquality ushort1
let ulong1 = 112uL
printfn $"value = ulong1: {value.Equals(int ulong1),17}"
testObjectForEquality ulong1
let dec1 = 112M
printfn $"value = dec1: {value.Equals(int dec1),20}"
testObjectForEquality dec1
let dbl1 = 112.0
printfn $"value = dbl1: {value.Equals(int dbl1),19}"
testObjectForEquality dbl1
// 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
Module Example
Dim value As Int32 = 112
Public Sub Main()
Dim byte1 As Byte = 112
Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1))
TestObjectForEquality(byte1)
Dim short1 As Short = 112
Console.WriteLine("value = short1: {0,15}", value.Equals(short1))
TestObjectForEquality(short1)
Dim long1 As Long = 112
Console.WriteLine("value = long1: {0,17}", value.Equals(long1))
TestObjectForEquality(long1)
Dim sbyte1 As SByte = 112
Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1))
TestObjectForEquality(sbyte1)
Dim ushort1 As UShort = 112
Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1))
TestObjectForEquality(ushort1)
Dim ulong1 As ULong = 112
Console.WriteLine("value = ulong1: {0,17}", value.Equals(ulong1))
TestObjectForEquality(ulong1)
Dim dec1 As Decimal = 112d
Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1))
TestObjectForEquality(dec1)
Dim dbl1 As Double = 112
Console.WriteLine("value = dbl1: {0,19}", value.Equals(dbl1))
TestObjectForEquality(dbl1)
End Sub
Private Sub TestObjectForEquality(obj As Object)
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
value, value.GetType().Name,
obj, obj.GetType().Name,
value.Equals(obj))
Console.WriteLine()
End Sub
End Module
' 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