Int32.Equals 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 인스턴스가 지정된 Int32 값과 같은지 여부를 나타내는 값을 반환합니다.
오버로드
| Name | Description |
|---|---|
| Equals(Int32) |
이 인스턴스가 지정된 Int32 값과 같은지 여부를 나타내는 값을 반환합니다. |
| Equals(Object) |
이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. |
Equals(Int32)
- Source:
- Int32.cs
- Source:
- Int32.cs
- Source:
- Int32.cs
- Source:
- Int32.cs
- Source:
- Int32.cs
이 인스턴스가 지정된 Int32 값과 같은지 여부를 나타내는 값을 반환합니다.
public:
virtual bool Equals(int obj);
public bool Equals(int obj);
override this.Equals : int -> bool
Public Function Equals (obj As Integer) As Boolean
매개 변수
반품
구현
설명
이 메서드는 인터페이스를 System.IEquatable<T> 구현하고 매개 변수를 개체로 변환 Int32.Equals(Object) 할 필요가 없기 때문에 약간 더 잘 obj 수행됩니다.
호출자 참고
컴파일러 오버로드 확인은 두 Equals(Int32) 메서드 오버로드의 동작에서 명백한 차이를 설명할 수 있습니다. 인수와 인수 간의 obj 암시적 변환이 정의되고 인수가 형식화Int32되지 않은 경우 컴파일러는 암시적 변환을 수행하고 메서드를 호출합니다Object.Equals(Int32) 그렇지 않으면 해당 인수가 값이 Equals(Object) 아닌 경우 false 항상 반환 obj 되는 메서드를 Int32 호출합니다. 다음 예제에서는 두 메서드 오버로드 간의 동작 차이를 보여 줍니다. , , 및 값의 Byte경우 컴파일러가 자동으로 확대 변환을 수행하고 메서드를 호출 Int16 하기 때문에 첫 번째 비교가 반환 SByte 되는 반면, 두 번째 비교는 컴파일러가 메서드를 호출 UInt16 하기 때문에 반환 true 됩니다.Equals(Int32)falseEquals(Object)
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
적용 대상
Equals(Object)
- Source:
- Int32.cs
- Source:
- Int32.cs
- Source:
- Int32.cs
- Source:
- Int32.cs
- Source:
- Int32.cs
이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.
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
매개 변수
- obj
- Object
이 인스턴스와 비교할 개체입니다.
반품
true인스턴스이고 이 인스턴스의 obj 값과 같으면 Int32 .이고, false그렇지 않으면 .
예제
다음 예제에서는 두 Equals 값을 비교하고 같은 숫자를 나타내는 경우 또는 Int32 그렇지 않은 경우 반환하는 int 컨텍스트true에서 사용하는 false 방법을 보여 줍니다.
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
호출자 참고
컴파일러 오버로드 확인은 두 Equals(Int32) 메서드 오버로드의 동작에서 명백한 차이를 설명할 수 있습니다. 인수와 인수 간의 obj 암시적 변환이 정의되고 인수가 형식화Int32되지 않은 경우 컴파일러는 암시적 변환을 수행하고 메서드를 호출합니다Object.Equals(Int32) 그렇지 않으면 해당 인수가 값이 Equals(Object) 아닌 경우 false 항상 반환 obj 되는 메서드를 Int32 호출합니다. 다음 예제에서는 두 메서드 오버로드 간의 동작 차이를 보여 줍니다. , , 및 값의 Byte경우 컴파일러가 자동으로 확대 변환을 수행하고 메서드를 호출 Int16 하기 때문에 첫 번째 비교가 반환 SByte 되는 반면, 두 번째 비교는 컴파일러가 메서드를 호출 UInt16 하기 때문에 반환 true 됩니다.Equals(Int32)falseEquals(Object)
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