如何使用LINQ执行以下逻辑

时间:2012-09-14 16:24:40

标签: visual-studio-2010 linq c#-4.0 lambda logic

我有一个带有日期时间项列表的对象。我有另一个有属性的列表

我想在列表中选择日期时间项目,只要它与另一个列表中的某个项目匹配。我能够获得这些项目,但我不知道如何基本上写“如果当前项目与此列表中的任何项目匹配”。

到目前为止,LINQ就像

from item in ObjectWithList.DateList
from compareItem in OtherDateTimeList
where item = //Here is there I run into trouble, how would I loop through the compareitems?

感谢

修改 我需要在这个LINQ中完成这个,因为这只是整个LINQ的一部分。

2 个答案:

答案 0 :(得分:1)

ObjectWithList.DateList.Intersect(OtherDateTimeList)

修改

如果必须是Linq查询,并且您不想使用Intersect,请尝试:

var mix = from f in ObjectWithList.DateList
          join s in OtherDateTimeList on f equals s
          select f;

var mix = from f in ObjectWithList.DateList
          from s in OtherDateTimeList 
          where f == s
          select f;

答案 1 :(得分:0)

您可以使用Intersect标准查询运算符:

var items = ObjectWithList.DateList.Intersect(OtherDateTimeList)