C# CompareTo() 메서드란?
C#에서 두 값을 비교하려면 CompareTo() 메서드를 사용합니다. 이 메서드는 현재 객체와 지정된 객체를 비교한 후, 두 값의 상대적인 크기 관계를 나타내는 정수를 반환합니다. 숫자뿐만 아니라 문자열 등 IComparable 인터페이스를 구현하는 모든 타입에서 활용할 수 있습니다.
반환값의 의미
- 0 : 두 숫자가 서로 같습니다.
- 1 : 첫 번째 숫자가 두 번째 숫자보다 큽니다(즉, 두 번째 숫자가 더 작습니다).
- -1 : 첫 번째 숫자가 두 번째 숫자보다 작습니다.
CompareTo() 메서드 예제
아래 코드는 C#에서 CompareTo() 메서드를 구현하는 기본적인 예제입니다.
using System;
public class Demo {
public static void Main() {
int val1 = 100;
int val2 = 100;
int res = val1.CompareTo(val2);
Console.WriteLine(res);
}
}출력 결과
0
위 예제에서 val1과 val2는 모두 100으로 같은 값이므로 결과로 0이 출력됩니다.
다양한 값 비교 예제
크기가 다른 값들을 비교하면 어떤 결과가 나오는지 확인해 보겠습니다.
using System;
public class Demo {
public static void Main() {
int a = 50;
int b = 200;
// a가 b보다 작은 경우
Console.WriteLine(a.CompareTo(b));
// a가 b보다 큰 경우
Console.WriteLine(b.CompareTo(a));
// 두 값이 같은 경우
Console.WriteLine(a.CompareTo(50));
}
}출력 결과
-1 1 0
정리
CompareTo() 메서드는 조건문 없이도 두 값의 대소 관계를 간단하게 판별할 수 있는 유용한 도구입니다. 특히 정렬(Sorting) 알고리즘을 직접 구현하거나 컬렉션을 정렬할 때 자주 사용되므로, 반환값인 -1, 0, 1의 의미를 정확히 이해해 두는 것이 좋습니다.