Mengenal pasti Selang Masa Bertindih dalam C#
Menentukan dengan cekap jika dua selang masa bertindih adalah tugas yang kerap dalam pembangunan perisian. Artikel ini meneroka kaedah yang berbeza dan membentangkan penyelesaian yang dioptimumkan.
Menggunakan Alat dan Kaedah Sedia Ada
KelasC# terbina dalam DateTime
tidak secara langsung menyokong perbandingan selang bertindih. Walau bagaimanapun, pencerminan kelas tersuai dan tidak berubah TimeSpan
dengan tarikh mula dan tamat yang berbeza menawarkan pendekatan praktikal.
Penyelesaian Dioptimumkan
Coretan kod berikut menyediakan cara yang ringkas dan cekap untuk mengesan pertindihan antara dua selang masa, ditakrifkan oleh tStartA
, tEndA
dan tStartB
, tEndB
:
<code class="language-csharp">bool overlap = tStartA < tEndB && tStartB < tEndA;</code>
Penjelasan:
tStartA < tEndB
menyemak sama ada permulaan selang A sebelum tamat selang B.tStartB < tEndA
menyemak sama ada permulaan selang B sebelum tamat selang A.Pengendali &&
memastikan kedua-dua syarat mestilah benar agar pertindihan wujud.
Ringkasan
Kaedah ini menawarkan penyelesaian yang diperkemas dan sangat cekap untuk mengesan selang masa bertindih dalam C#. Kesederhanaannya mengurangkan kerumitan dan menjamin pelaksanaan pantas.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Tempoh Masa Bertindih dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!