C#에서 현재 인스턴스가 지정된 개체 또는 Int64 값과 같은지 비교하려면 Equals() 메서드를 사용합니다. 이 메서드는 두 값이 동일하면 true, 그렇지 않으면 false를 반환합니다.
예제 1
다음 예제에서는 서로 다른 두 long 값을 Equals() 메서드로 비교해 보겠습니다.
using System;
public class Demo {
public static void Main() {
long val1 = 150;
long val2 = 240;
Console.WriteLine("Value1 = "+val1);
Console.WriteLine("Value2 = "+val2);
Console.WriteLine("Are they equal? = "+val1.Equals(val2));
}
}출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Value1 = 150 Value2 = 240 Are they equal? = False
150과 240은 서로 다른 값이므로 Equals() 메서드가 False를 반환한 것을 확인할 수 있습니다.
예제 2
이번에는 동일한 값을 가진 두 long 변수를 비교해 보겠습니다.
using System;
public class Demo {
public static void Main() {
long val1 = 8768768768;
long val2 = 8768768768;
Console.WriteLine("Value1 = "+val1);
Console.WriteLine("Value2 = "+val2);
Console.WriteLine("Are they equal? = "+val1.Equals(val2));
}
}출력
실행 결과는 다음과 같습니다.
Value1 = 8768768768 Value2 = 8768768768 Are they equal? = True
두 변수가 같은 값을 가지고 있으므로 Equals() 메서드가 True를 반환합니다.
정리
Int64 구조체의 Equals() 메서드는 현재 인스턴스의 값과 인수로 전달된 개체 또는 Int64 값을 비교하여 동등 여부를 판단합니다. 값 타입 비교 시 == 연산자와 유사하게 동작하지만, Equals()는 개체와의 비교도 지원한다는 점에서 활용 범위가 넓습니다.