使用Linq查找项目的值列表

时间:2013-03-19 10:12:17

标签: c# linq

我有list包含int个值,我想使用linq表达式返回一个属性等于列表项值的结果。我怎么能这样做?

list<int> x = ...

var o = anotherList.where(s => s.Id == (the list values));

4 个答案:

答案 0 :(得分:10)

var o = anotherList.Where(s => list.Contains(s.ID));

答案 1 :(得分:1)

我将“属性等于列表项值”翻译为“anotherList包含此列表ID”:

efficient方法正在使用Join

var o = from al in anotherList
        join tlId in thelist
        on al.Id equals tlId
        select al;

答案 2 :(得分:0)

 var o = anotherList.Where(s =>list.Any(a=> a.Id == s.Id));

答案 3 :(得分:0)

您还可以使用匿名方法:

 var o = anotherList.Where(delegate(someItem s) { return list != null && list.Contains(s.ID); });