Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# CompareTo() 메서드 완벽 정리 - 두 값 비교 방법과 반환값 이해하기

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

위 예제에서 val1val2는 모두 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의 의미를 정확히 이해해 두는 것이 좋습니다.