C#의 Int64.Equals() 메서드는 현재 인스턴스가 지정된 개체(object) 또는 Int64 값과 동일한지 여부를 나타내는 값을 반환하는 데 사용됩니다. 두 값이 같으면 true, 다르면 false를 반환합니다.
문법(Syntax)
Int64.Equals() 메서드의 기본 문법은 다음과 같습니다.
public bool Equals (long ob); public override bool Equals (object ob);
첫 번째 오버로드에서 매개변수 ob는 현재 인스턴스와 비교할 Int64(long) 값을 의미하며, 두 번째 오버로드에서는 현재 인스턴스와 비교할 개체(object)를 의미합니다.
예제 1: 서로 다른 값 비교하기
다음은 Int64.Equals() 메서드를 사용하여 두 개의 long 값을 비교하는 첫 번째 예제입니다.
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
val1(150)과 val2(240)는 서로 다른 값이므로 Equals() 메서드가 False를 반환한 것을 확인할 수 있습니다.
예제 2: 동일한 값 비교하기
이번에는 두 변수가 같은 값을 가질 때의 결과를 살펴보겠습니다.
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
두 변수가 동일한 값(8768768768)을 가지고 있으므로 Equals() 메서드가 True를 반환했습니다.
정리
Int64.Equals() 메서드는 long 타입 값의 동등성을 비교할 때 유용하게 사용됩니다. 단순히 == 연산자를 사용하는 것과 결과는 같지만, 개체 지향적인 방식으로 비교 로직을 구현해야 하는 상황에서 특히 유용합니다.