我有下一个代码:
var list1 = server1Products; // server1Products is List<Product> type
var list2 = server2Products; // server2Products is List<Product> type
//
// get a queryable reference from first variable (list1)
var query = list1.AsQueryable();
//
// apply any filter
query = query.Where(p => p.Active == true);
//
// get result from first list server1Products
var result1 = query.ToList();
我需要应用 SAME&#34;查询&#34;参考对变量&#34; list2&#34;。
var result2 = ??????????????; // result from server2Products list
有可能吗?
答案 0 :(得分:1)
如果我理解正确,您希望将同一过滤器应用于其他列表,这样您只能获得list2中的有效产品。你可以这样做:
Expression<Func<Product, bool>> expr = p => p.Active;
var result1 = list1.AsQueryable().Where(expr);
var result2 = list2.AsQueryable().Where(expr);
此处调用AsQueryable()
方法是正确的,因为其他方式C#无法正确解析正确的方法。