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

C# TimeSpan.Compare() 메서드 완벽 정리 – 두 시간 간격 비교하기

C#의 TimeSpan.Compare() 메서드는 두 개의 TimeSpan 값을 비교하는 데 사용되며, 첫 번째 값이 두 번째 값보다 짧은지, 같은지, 아니면 더 긴지를 나타내는 정수를 반환합니다.

반환 값의 의미는 다음과 같습니다.

  • -1: span1이 span2보다 짧은 경우
  • 0: span1과 span2가 같은 경우
  • 1: span1이 span2보다 긴 경우

구문

메서드의 기본 구문은 다음과 같습니다.

public static int Compare (TimeSpan span1, TimeSpan span2);

여기서 매개변수 span1은 비교할 첫 번째 시간 간격, span2는 비교할 두 번째 시간 간격을 의미합니다.

예제 1

다음 예제를 통해 TimeSpan.Compare() 메서드의 동작 방식을 살펴보겠습니다.

using System;
public class Demo {
   public static void Main(){
      TimeSpan span1 = new TimeSpan(-6, 25, 0);
      TimeSpan span2 = new TimeSpan(1, 11, 25, 20);
      TimeSpan span3 = TimeSpan.MinValue;
      TimeSpan res1 = span1.Add(span2);
      TimeSpan res2 = span2.Add(span3);
      Console.WriteLine("Final Timespan (TimeSpan1 + TimeSpan2) = "+res1);
      Console.WriteLine("Final Timespan (TimeSpan2 + TimeSpan3) = "+res2);
      Console.WriteLine("Result (Comparison of span1 and span2) = "+TimeSpan.Compare(span1, span2));
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Final Timespan (TimeSpan1 + TimeSpan2) = 1.05:50:20
Final Timespan (TimeSpan2 + TimeSpan3) = -10675197.15:22:45.4775808
Result (Comparison of span1 and span2) = -1

출력 결과에서 확인할 수 있듯이, span1(-6시간 25분)은 span2(1일 11시간 25분 20초)보다 짧기 때문에 비교 결과로 -1이 반환됩니다.

예제 2

이번에는 또 다른 예제를 살펴보겠습니다.

using System;
public class Demo {
   public static void Main(){
      TimeSpan span1 = new TimeSpan(-6, 25, 0);
      TimeSpan span2 = new TimeSpan(1, 10, 0);
      Console.WriteLine("Result (Comparison of span1 and span2) = "+TimeSpan.Compare(span1, span2));
   }
}

출력 결과

실행 결과는 다음과 같습니다.

Result (Comparison of span1 and span2) = -1

span1이 음수 값(-6시간 25분)을 가지고 span2는 양수 값(1시간 10분)을 가지므로, 역시 -1이 반환되는 것을 확인할 수 있습니다.