2011-01-27 99 views
3

LINQ中是否有OR运算符?LINQ或运算符

例如:

(controller.Equals("firm").Equals("service").Equals("training")) 

如何将我让这个它将匹配“公司”或“服务”或“培训”? 感谢

+0

有些人都不知道LINQ是,本质上,只是一组扩展C#.NET的。由于asp.net mvc,很多(如我)被引入到LINQ中。 – 2011-01-27 13:40:15

回答

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或其他)。

3

使用Contains()可以达到同样的效果。

(new[] { "firm", "service", "training" }.Contains(controller))