比较日期时间列表,c# linq

本文关键字:linq 列表 日期 时间 比较 | 更新日期: 2023-09-27 17:49:14

我在c#中有一个列表

List<Dates>
public class Dates
{
    public DateTime Start {get; set;}
    public DateTime End {get; set;}
}
在列表

:

开始-结束

  1. 2014-03-17 09:00:00 - 2014-03-17 10:00:00
  2. 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…请帮忙好吗?

谢谢

比较日期时间列表,c# linq

听起来您正在尝试确定列表中的任何Dates值是否在该范围之间。如果是这样,您正在寻找Any方法

if (theList.Any(x => x.Start <= endToCheck && x.End >= startToCheck) { 
  ...
}

如果你想检测所有的重叠:

yourList.Where(x=> x.Start <= endToCheck && x.End >= startToCheck)