我希望找到最有效的伪代码,以达到以下条件:
如果有人能够帮助解决此类查询背后的伪代码,我将不胜感激。
它可以在LINQ查询中使用。
答案 0 :(得分:1)
如果将(S1,S2)定义为(S1,S2 ?? S1),则
如果符合以下条件,将满足条件:
S2 >= D1 && D2 >= S1
S1 S2
|------|
D1 D2
|-----------------------|
S1 S2
|-------------------|
D1 D2
|-----------------------|
S1 S2
|-------------------|
D1 D2
|-----------------------|
S1 S2
|-------------------------|
D1 D2
|-------|
但这些条件不会得到满足:
S1 S2
|-------------------|
D1 D2
|----|
S1 S2
|-----|
D1 D2
|-----------------------|
答案 1 :(得分:0)
要检查特定时间段内的事件是否使用
Event.Start < TimeFrame.End && (Event.End == null) ? Event.Start.AddDays(1) : Event.End > TimeFrame.Start