LINQ中是否有OR运算符?
示例:
(controller.Equals("firm").Equals("service").Equals("training"))
我将如何制作它以匹配'坚定'或'服务'或'培训'? 感谢
答案 0 :(得分:9)
执行所需操作的最简单方法可能是使用“允许”字词集合Contains
:
HashSet<string> words = new HashSet<string> { "firm", "service", "training" };
var query = from controller in foo.Controllers
where words.Contains(controller)
select controller;
或者你可以使用:
controller == "firm" || controller == "service" || controller == "training"
在查询中。
如果这没有帮助,请给我们更多的背景 - 你只给了我们一个非编译表达式,而不是清楚地知道查询是什么或它的意图(事实上它是否是在LINQ to Objects,LINQ to SQL或其他方面)。
答案 1 :(得分:3)
使用Contains()
可以达到同样的效果。
(new[] { "firm", "service", "training" }.Contains(controller))
答案 2 :(得分:2)
如果要动态构建LINQ查询,可以查看PredicateBuilder