Identification des intervalles de temps qui se chevauchent dans C #
déterminer efficacement si deux intervalles de temps se chevauchent est une tâche fréquente dans le développement de logiciels. Cet article explore différentes méthodes et présente une solution optimisée.
en utilisant les outils et méthodes existants
C # La classe DateTime
de C # ne prend pas directement en charge les comparaisons d'intervalle qui se chevauchent directement. Cependant, une classe personnalisable et immuable reflétant TimeSpan
avec des dates de début et de fin distinctes offre une approche pratique.
Une solution optimisée
l'extrait de code suivant fournit un moyen concis et efficace de détecter le chevauchement entre deux intervalles de temps, définis par tStartA
, tEndA
et tStartB
, tEndB
:
<code class="language-csharp">bool overlap = tStartA < tEndB && tStartB < tEndA;</code>
Explication:
tStartA < tEndB
vérifie si le début de l'intervalle A est avant la fin de l'intervalle B. tStartB < tEndA
vérifie si le début de l'intervalle B est avant la fin de l'intervalle A. L'opérateur &&
s'assure que les deux conditions doivent être vraies pour qu'un chevauchement existe.
Résumé
Cette méthode offre une solution rationalisée et très efficace pour détecter les intervalles de temps qui se chevauchent en C #. Sa simplicité réduit la complexité et garantit une exécution rapide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!