Int32.Equals 메서드

정의

이 인스턴스가 지정된 Int32 값과 같은지를 나타내는 값을 반환합니다.Returns a value indicating whether this instance is equal to a specified Int32 value.

오버로드

Equals(Int32)

이 인스턴스가 지정된 Int32 값과 같은지를 나타내는 값을 반환합니다.Returns a value indicating whether this instance is equal to a specified Int32 value.

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 표시하는 값을 반환합니다.Returns a value indicating whether this instance is equal to a specified object.

Equals(Int32)

이 인스턴스가 지정된 Int32 값과 같은지를 나타내는 값을 반환합니다.Returns a value indicating whether this instance is equal to a specified Int32 value.

public:
 virtual bool Equals(int obj);
public bool Equals (int obj);
override this.Equals : int -> bool
Public Function Equals (obj As Integer) As Boolean

매개 변수

obj
Int32

이 인스턴스와 비교할 Int32 값입니다.An Int32 value to compare to this instance.

반환

Boolean

true가 이 인터페이스와 같은 값을 가지면 obj이고, 그렇지 않으면 false입니다.true if obj has the same value as this instance; otherwise, false.

구현

설명

이 메서드는 인터페이스를 구현 System.IEquatable<T> 하며, Int32.Equals(Object) 매개 변수를 개체로 변환할 필요가 없기 때문에 보다 약간 더 나은 성능을 발휘 합니다 obj .This method implements the System.IEquatable<T> interface, and performs slightly better than Int32.Equals(Object) because it does not have to convert the obj parameter to an object.

호출자 참고

컴파일러 오버 로드 확인은 두 메서드 오버 로드의 동작에 대 한 명백한 차이점을 설명할 수 있습니다 Equals(Int32) .Compiler overload resolution may account for an apparent difference in the behavior of the two Equals(Int32) method overloads. 인수와 사이의 암시적 변환이 obj Int32 정의 되 고 인수가로 형식화 되지 않은 경우 Object 컴파일러는 암시적 변환을 수행 하 고 메서드를 호출 Equals(Int32) 합니다.If an implicit conversion between the obj argument and an Int32 is defined and the argument is not typed as an Object, compilers perform an implicit conversion and call the Equals(Int32) method. 그렇지 않으면 메서드를 호출 합니다 Equals(Object) .이 메서드는 false obj 인수가 값이 아닌 경우 항상를 반환 합니다 Int32 .Otherwise, they call the Equals(Object) method, which always returns false if its obj argument is not an Int32 value. 다음 예제에서는 두 메서드 오버 로드 간의 동작 차이를 보여 줍니다.The following example illustrates the difference in behavior between the two method overloads. Byte,, 및 값의 경우 Int16 SByte UInt16 첫 번째 비교는 true 컴파일러가 확대 변환을 자동으로 수행 하 고 메서드를 호출 하는 Equals(Int32) 반면 두 번째 비교는 false 컴파일러에서 메서드를 호출 하기 때문 Equals(Object) 에를 반환 합니다.In the case of the Byte, Int16, SByte, and UInt16 values, the first comparison returns true because the compiler automatically performs a widening conversion and calls the Equals(Int32) method, whereas the second comparison returns false because the compiler calls the Equals(Object) method.

::: code language = "csharp" source = "~/samples/snippets/csharp/VS_Snippets_CLR_System/system.int32.equals/cs/equalsoverloads2.cs" interactive = "try...catch" id = "Snippet1":::::: code language = "vb" source = "~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.int32.equals/vb/equalsoverloads2.vb" id = "Snippet1"::::::code language="csharp" source="~/samples/snippets/csharp/VS_Snippets_CLR_System/system.int32.equals/cs/equalsoverloads2.cs" interactive="try-dotnet" id="Snippet1"::: :::code language="vb" source="~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.int32.equals/vb/equalsoverloads2.vb" id="Snippet1":::

적용 대상

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 표시하는 값을 반환합니다.Returns a value indicating whether this instance is equal to a specified 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

이 인스턴스와 비교할 개체입니다.An object to compare with this instance.

반환

Boolean

trueobj의 인스턴스이고 이 인스턴스의 값과 같으면 Int32이고, 그렇지 않으면 false입니다.true if obj is an instance of Int32 and equals the value of this instance; otherwise, false.

예제

다음 예에서는의 컨텍스트에서를 사용 하 여 Equals Int32 두 값을 비교 int 하 고 true 동일한 수를 나타내는 경우를 반환 하거나, 그렇지 않은 경우를 반환 false 하는 방법을 보여 줍니다.The following example illustrates the use of Equals in the context of Int32, comparing two int values and returning true if they represent the same number, or false if they do not.

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");
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) .Compiler overload resolution may account for an apparent difference in the behavior of the two Equals(Int32) method overloads. 인수와 사이의 암시적 변환이 obj Int32 정의 되 고 인수가로 형식화 되지 않은 경우 Object 컴파일러는 암시적 변환을 수행 하 고 메서드를 호출 Equals(Int32) 합니다.If an implicit conversion between the obj argument and an Int32 is defined and the argument is not typed as an Object, compilers perform an implicit conversion and call the Equals(Int32) method. 그렇지 않으면 메서드를 호출 합니다 Equals(Object) .이 메서드는 false obj 인수가 값이 아닌 경우 항상를 반환 합니다 Int32 .Otherwise, they call the Equals(Object) method, which always returns false if its obj argument is not an Int32 value. 다음 예제에서는 두 메서드 오버 로드 간의 동작 차이를 보여 줍니다.The following example illustrates the difference in behavior between the two method overloads. Byte,, 및 값의 경우 Int16 SByte UInt16 첫 번째 비교는 true 컴파일러가 확대 변환을 자동으로 수행 하 고 메서드를 호출 하는 Equals(Int32) 반면 두 번째 비교는 false 컴파일러에서 메서드를 호출 하기 때문 Equals(Object) 에를 반환 합니다.In the case of the Byte, Int16, SByte, and UInt16 values, the first comparison returns true because the compiler automatically performs a widening conversion and calls the Equals(Int32) method, whereas the second comparison returns false because the compiler calls the Equals(Object) method.

::: code language = "csharp" source = "~/samples/snippets/csharp/VS_Snippets_CLR_System/system.int32.equals/cs/equalsoverloads2.cs" interactive = "try...catch" id = "Snippet1":::::: code language = "vb" source = "~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.int32.equals/vb/equalsoverloads2.vb" id = "Snippet1"::::::code language="csharp" source="~/samples/snippets/csharp/VS_Snippets_CLR_System/system.int32.equals/cs/equalsoverloads2.cs" interactive="try-dotnet" id="Snippet1"::: :::code language="vb" source="~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.int32.equals/vb/equalsoverloads2.vb" id="Snippet1":::

추가 정보

적용 대상