我有一个数据结构,它是一个哈希表列表,如下所示:
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;
答案 0 :(得分:6)
取决于你想要完成什么,但是你可以:
Func<List<Hashtable>, bool> where_clause = h => h["foo"] == "bar";
List<Hashtable> lh = new List<Hashtable>();
var query = lh.Where(where_clause);