我在c#中有一个列表
List<Dates>
public class Dates
{
public DateTime Start {get; set;}
public DateTime End {get; set;}
}
在列表:
开始-结束
- 2014-03-17 09:00:00 - 2014-03-17 10:00:00
- 2014-03-17 10:59:59 - 2014-03-17 11:44:59
我如何检查我的startToCheck是否在Start之间,同样的endToCheck到结束到那个列表?
例如:
startToCheck = 2014-03-17 11:00:00
endToCheck = 2014-03-17 12:00:00
显然,我的startToCheck在列表nr2中,但没有找到它。
I tried
if (Start <= startToCheck && End >= endToCheck)
But is not working…请帮忙好吗?
谢谢
听起来您正在尝试确定列表中的任何Dates
值是否在该范围之间。如果是这样,您正在寻找Any
方法
if (theList.Any(x => x.Start <= endToCheck && x.End >= startToCheck) {
...
}
如果你想检测所有的重叠:
yourList.Where(x=> x.Start <= endToCheck && x.End >= startToCheck)