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