다음을 통해 공유


Int64.Equals 메서드

정의

이 인스턴스가 지정된 개체나 Int64과 같은지를 나타내는 값을 반환합니다.

오버로드

Equals(Int64)

이 인스턴스가 지정된 Int64 값과 같은지를 나타내는 값을 반환합니다.

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 표시하는 값을 반환합니다.

Equals(Int64)

이 인스턴스가 지정된 Int64 값과 같은지를 나타내는 값을 반환합니다.

public:
 virtual bool Equals(long obj);
public bool Equals (long obj);
override this.Equals : int64 -> bool
Public Function Equals (obj As Long) As Boolean

매개 변수

obj
Int64

이 인스턴스와 비교할 Int64 값입니다.

반환

Boolean

true가 이 인터페이스와 같은 값을 가지면 obj이고, 그렇지 않으면 false입니다.

구현

설명

이 메서드는 System.IEquatable<T> 인터페이스를 구현하며 매개 변수를 개체로 변환할 필요가 없기 때문에 보다 약간 더 잘 Equals obj 수행됩니다.

호출자 참고

컴파일러 오버로드 확인은 두 메서드 오버로드의 동작에서 명백한 차이를 고려할 수 Equals(Int64) 있습니다. 인수와 사이의 암시적 obj Int64 변환이 정의되고 인수가 로 형식화되지 않은 경우 Object 컴파일러가 암시적 변환을 수행하고 Equals(Int64) 메서드를 호출합니다. 그렇지 않으면 Equals(Object) 인수가 값이 아닌 경우 항상 를 반환하는 false obj 메서드를 Int64 호출합니다. 다음 예제에서는 두 메서드 오버로드 간의 동작 차이를 보여 줍니다. , , , , 및 값의 경우 Byte SByte Int16 UInt16 Int32 UInt32 true 컴파일러가 자동으로 확대 변환을 수행하고 메서드를 호출하기 때문에 첫 번째 비교는 를 반환하지만 Equals(Int64) 두 번째 비교는 false 메서드를 호출하기 때문에 를 반환합니다. Equals(Object)

적용 대상

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

이 인스턴스와 비교할 개체입니다.

반환

Boolean

trueobj의 인스턴스이고 이 인스턴스의 값과 같으면 Int64이고, 그렇지 않으면 false입니다.

예제

다음 코드 예제에서는 의 컨텍스트에서 를 사용하여 두 long 값을 비교하고 동일한 숫자를 나타내는 경우 를 Equals Int64 반환하고, 그렇지 않으면 를 반환하는 것을 보여 true 줍니다. false

Int64 myVariable1 = 80;
Int64 myVariable2 = 80;

// 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" );
Int64 myVariable1 = 80;
Int64 myVariable2 = 80;

// 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 = 80L
let myVariable2 = 80L

// Get and display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is: {myVariable1}"
printfn $"\nType 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 Int64 = 80
Dim myVariable2 As Int64 = 80

' 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(Int64) 있습니다. 인수와 사이의 암시적 obj Int64 변환이 정의되고 인수가 로 형식화되지 않은 경우 Object 컴파일러가 암시적 변환을 수행하고 Equals(Int64) 메서드를 호출합니다. 그렇지 않으면 Equals(Object) 인수가 값이 아닌 경우 항상 를 반환하는 false obj 메서드를 Int64 호출합니다. 다음 예제에서는 두 메서드 오버로드 간의 동작 차이를 보여 줍니다. , , , , 및 값의 경우 Byte SByte Int16 UInt16 Int32 UInt32 true 컴파일러가 자동으로 확대 변환을 수행하고 메서드를 호출하기 때문에 첫 번째 비교는 를 반환하지만 Equals(Int64) 두 번째 비교는 false 메서드를 호출하기 때문에 를 반환합니다. Equals(Object)

using System;

public class Example
{
   static long 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);

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

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

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

추가 정보

적용 대상