C#의 Int32.CompareTo 메서드는 현재 인스턴스를 지정된 개체 또는 Int32 값과 비교하고, 두 값의 상대적인 크기를 나타내는 정수를 반환합니다. 주로 숫자 값의 대소 관계를 판단할 때 유용하게 활용됩니다.
문법(Syntax)
Int32.CompareTo 메서드의 기본 문법은 다음과 같습니다.
public int CompareTo (int val); public int CompareTo (object val);
첫 번째 문법은 비교할 정수(int) 값을 매개변수로 받고, 두 번째 문법은 비교할 개체(object)를 매개변수로 받습니다.
반환값(Return Value)
CompareTo 메서드의 반환값은 다음과 같이 해석할 수 있습니다.
- 0보다 작은 값: 현재 인스턴스가 매개변수 값보다 작은 경우
- 0(영): 현재 인스턴스가 매개변수 값과 같은 경우
- 0보다 큰 값: 현재 인스턴스가 매개변수 값보다 큰 경우
예제 1: 서로 다른 값 비교하기
다음 예제는 Int32.CompareTo 메서드를 사용하여 두 개의 서로 다른 정수 값을 비교하는 방법을 보여줍니다.
using System;
public class Demo {
public static void Main(){
int val1 = 20;
int val2 = 18;
Console.WriteLine("Value 1 = "+val1);
Console.WriteLine("Value 2 = "+val2);
Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Value 1 = 20 Value 2 = 18 Return value (comparison) = 1
val1(20)이 val2(18)보다 크기 때문에 반환값으로 양수인 1이 출력됩니다.
예제 2: 같은 값 비교하기
이번에는 두 값이 동일한 경우 CompareTo 메서드가 어떤 결과를 반환하는지 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
int val1 = 50;
int val2 = 50;
Console.WriteLine("Value 1 = "+val1);
Console.WriteLine("Value 2 = "+val2);
Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Value 1 = 50 Value 2 = 50 Return value (comparison) = 0
두 값이 모두 50으로 동일하기 때문에 반환값으로 0이 출력됩니다.
마무리
Int32.CompareTo 메서드는 두 정수 값의 크기를 간단히 비교할 수 있는 편리한 메서드입니다. 반환값의 부호만 확인하면 대소 관계를 바로 알 수 있어, 정렬 로직이나 조건 분기 처리 등 다양한 상황에서 활용도가 높습니다.