C# 在运行时使用LINQKIT将linq转换为对象或查询
我有一个多值列表3,5,10 现在我想在运行时使用Or操作符创建一个linqC# 在运行时使用LINQKIT将linq转换为对象或查询,c#,linq,linqkit,C#,Linq,Linqkit,我有一个多值列表3,5,10 现在我想在运行时使用Or操作符创建一个linq。where过滤器 如何使用LINQKit实现这一点?或者用普通的linq,但我认为这是不可能的 例如,这将是一个硬编码版本: var filter = mydata.Where(v => v.state == "3" || v.state == "5" || v.state == "10"); 这将动态过滤mydata数组 但我不希望它被硬编码 您可以简单地使用Contains方法,如下所示: var filt
。where
过滤器
如何使用LINQKit实现这一点?或者用普通的linq,但我认为这是不可能的
例如,这将是一个硬编码版本:
var filter = mydata.Where(v => v.state == "3" || v.state == "5" || v.state == "10");
这将动态过滤mydata数组
但我不希望它被硬编码 您可以简单地使用
Contains
方法,如下所示:
var filter = mydata.Where(v => list.Contains(v.state));
您可以像这样简单地使用
Contains
方法:
var filter = mydata.Where(v => list.Contains(v.state));
试试
Where(v=>list.Contains(v.state))
.hell。。。我是不是觉得很复杂。。。谢谢。请尝试Where(v=>list.Contains(v.state))
。见鬼。。。我是不是觉得很复杂。。。谢谢