建立一个最有效的查询来查找日期范围是否在一个区间内?
DateRange1 和 DateRange2 之间存在重叠
DateRange1: |-----------|
DateRange2: |-------|
DateRange3 和 DateRange4 之间不存在重叠
DateRange3: |------|
DateRange4: |-------|
我有一个查询来检查是否存在重叠,但它有点毛茸茸的。它涉及检查每个 DateRange 边框并使用大量 < 和 > 。
我想知道你是否可以说,如果 DateRange1.Union(DateRange2) != null,做一些事情。 只是让我的代码更具可读性并且更少毛茸茸的东西。
谢谢!
Overlap exists between DateRange1 and DateRange2
DateRange1: |-----------|
DateRange2: |-------|
Overlap does not exist between DateRange3 and DateRange4
DateRange3: |------|
DateRange4: |-------|
I have a query that checks if there is an overlap, but it's a little hairy. It involves checking each DateRange border and uses a lot of <'s and >'s.
I was wondering if you could say like, if DateRange1.Union(DateRange2) != null, do stuff.
Just something to make my code more readable and less hairy.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您可以添加 IncludedDates 属性 (
IEnumerable
),那应该非常简单。If you can add a IncludedDates property (
IEnumerable<DateTime>
), it should be pretty easy.我将创建一个扩展方法:
用法:
PS
我的
DateRange
类类似于:(也许你有另一个实现)
编辑:
(根据评论)
I'd create an extension method:
Usage:
P.S.
My
DateRange
class resemble to this:(perhaps you have another implementation)
EDIT:
(according to the comments)