1

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

list<int> x = ...

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

4 回答 4

10
var o = anotherList.Where(s => list.Contains(s.ID));
于 2013-03-19T10:13:39.543 回答
1

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

一种有效的方法是使用Join

var o = from al in anotherList
        join tlId in thelist
        on al.Id equals tlId
        select al;
于 2013-03-19T10:16:48.867 回答
0
 var o = anotherList.Where(s =>list.Any(a=> a.Id == s.Id));
于 2013-03-19T10:14:39.343 回答
0

您还可以使用匿名方法:

 var o = anotherList.Where(delegate(someItem s) { return list != null && list.Contains(s.ID); });
于 2013-03-19T10:23:56.007 回答