比较C#</datetime>中的两个List <datetime>

时间:2013-11-26 15:36:40

标签: c# linq list datetime compare

我有以下代码;

'list of dates
List<DateTime> oAllDates = new List<DateTime>();

// Imagine we are adding DateTime objects with the following values.
oAllDates.Add("2013-11-01"); 
oAllDates.Add("2013-11-02"); 
oAllDates.Add("2013-11-03"); 
...
oAllDates.Add("2013-11-30"); 

List<DateTime> MyDates = new List<DateTime>();
MyDates.Add("2013-11-03");

如果MyDates中的任何日期出现在列表oAllDates中,我想得到一个bool结果。我可以使用以下

foreach (DateTime dtDate in oAllDates)
{
    foreach (DateTime myDate in MyDates)
    {
        ...
    }
}

使用LINQ是否有更好的方法可以实现这一目标。此外,我有一个像

这样的列表
List<int> MyDaysByName = new List<int>();
MyDaysByName.Add(1); //sunday
MyDaysByName.Add(5); //thursday

我想在oAllDates中查找周日或周四的任何日期?

3 个答案:

答案 0 :(得分:7)

您可以使用Intersect

var anyOfthem = oAllDates.Intersect(MyDates).Any();

答案 1 :(得分:3)

使用Intersect

bool result = oldDates.Intersect(MyDates).Any();

答案 2 :(得分:1)

oAllDates.Any(x => MyDates.Contains(x));