如何参数化linq查询?

时间:2011-12-16 20:59:17

标签: linq

我有一个数据结构,它是一个哈希表列表,如下所示:

List<Hashtable> lh = new List<Hashtable>();

这个容器的一个相当简单的LINQ查询:

var query = from h in lh where h["foo"] == "bar" select h;

有没有办法参数化where子句?类似的东西:

var where_clause = where h["foo"] == "bar";
var query = from h in lh where_clause select h;

1 个答案:

答案 0 :(得分:6)

取决于你想要完成什么,但是你可以:

Func<List<Hashtable>, bool> where_clause = h => h["foo"] == "bar";
List<Hashtable> lh = new List<Hashtable>();
var query = lh.Where(where_clause);