C#에서 겹치는 시간 간격 식별
두 시간 간격이 겹치는지 효율적으로 판단하는 것은 소프트웨어 개발에서 자주 수행되는 작업입니다. 이 기사에서는 다양한 방법을 살펴보고 최적화된 솔루션을 제시합니다.
기존 도구와 방법 활용
C#의 기본 제공 DateTime
클래스는 중첩 간격 비교를 직접 지원하지 않습니다. 그러나 시작 날짜와 종료 날짜가 뚜렷한 사용자 정의 불변 클래스 미러링 TimeSpan
은 실용적인 접근 방식을 제공합니다.
최적화된 솔루션
다음 코드 조각은 tStartA
, tEndA
및 tStartB
, tEndB
:
<code class="language-csharp">bool overlap = tStartA < tEndB && tStartB < tEndA;</code>
설명:
tStartA < tEndB
은 A 간격의 시작이 B 간격의 끝 이전인지 확인합니다.tStartB < tEndA
은 간격 B의 시작이 간격 A의 끝 이전인지 확인합니다.&&
연산자는 중복이 존재하려면 두 조건이 모두 참이어야 함을 보장합니다.
요약
이 방법은 C#에서 겹치는 시간 간격을 감지하기 위한 간소화되고 매우 효율적인 솔루션을 제공합니다. 단순함으로 인해 복잡성이 줄어들고 빠른 실행이 보장됩니다.
위 내용은 C#에서 겹치는 기간을 효율적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!