c#比较DateTime start和DateTime stop with List <datetime> </datetime>

时间:2011-05-09 11:01:56

标签: c# datetime

就像标题所说:

我有DateTime startDateTime stop

现在我想将它们与List<DateTime> dates

进行比较

我只想查看列表dates是否介于startstop之间

if(dates.all(..... >= start && <= stop)) { . do something }

6 个答案:

答案 0 :(得分:8)

您问题中的伪代码离您正在寻找的工作代码不远。

使用LINQ的All()方法:

if (dates.All(date => date >= start && date <= stop)) {
    // Do something.
}

答案 1 :(得分:4)

对列表进行排序。 检查列表中的第一项是&gt; =开始日期和列表中的最后一项&lt; =结束日期

答案 2 :(得分:2)

使用linq:if(dates.All(d => d >= start && d <= stop))

答案 3 :(得分:2)

使用All扩展方法和进行比较的lambda表达式:

if (dates.All(d => d >= start && d <= stop)) { ... }

答案 4 :(得分:2)

如果您只想迭代括号中的日期,可以使用以下内容:

foreach (DateTime date in dates.Where(o => o >= start && o <= stop))
{
    //Do your thing.
}

答案 5 :(得分:1)

你可以像

一样工作
bool allTrue = LstDates.TrueForAll(delegate(DateTime dt) { return dt >= startDate && dt <= endDate; });