C#의 Boolean.CompareTo(Object) 메서드는 현재 인스턴스를 지정된 개체와 비교한 후, 두 값 간의 상대적인 관계를 나타내는 정수를 반환합니다.
메서드 구문
Boolean.CompareTo(Object) 메서드의 기본 구문은 다음과 같습니다.
public int CompareTo (object ob);
여기서 매개변수 ob는 현재 인스턴스와 비교할 개체이며, null 값도 허용됩니다.
반환값 이해하기
CompareTo 메서드는 비교 결과에 따라 다음과 같은 정수 값을 반환합니다.
- 0보다 작은 값: 현재 인스턴스가 false이고 매개변수가 true인 경우
- 0: 두 값이 같은 경우 (둘 다 true 또는 둘 다 false)
- 0보다 큰 값: 현재 인스턴스가 true이고 매개변수가 false인 경우
또한 매개변수가 Boolean 형식이 아닌 경우에는 ArgumentException이 발생합니다.
예제 코드
다음은 Boolean.CompareTo(Object) 메서드를 실제로 구현한 예제입니다.
using System;
public class Demo {
public static void Main(){
bool b1 = false;
object b2 = false;
int res = b1.CompareTo(b2);
if (res > 0)
Console.Write("b1 > b2");
else if (res < 0)
Console.Write("b1 < b2");
else
Console.Write("b1 = b2");
}
}실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
b1 = b2
예제에서 변수 b1(false)과 b2(false)는 동일한 값을 가지므로, CompareTo 메서드는 0을 반환하고 "b1 = b2"라는 결과가 출력됩니다.
정리
Boolean.CompareTo(Object) 메서드는 Boolean 값을 정렬하거나 비교 로직을 구현할 때 유용하게 활용됩니다. 특히 IComparable 인터페이스를 구현하는 컬렉션 정렬 시 내부적으로 사용되며, 두 부울 값의 우선순위를 명확하게 판단해야 하는 상황에서 효과적입니다.