LINQ中是否有OR运算符?LINQ或运算符
例如:
(controller.Equals("firm").Equals("service").Equals("training"))
如何将我让这个它将匹配“公司”或“服务”或“培训”? 感谢
LINQ中是否有OR运算符?LINQ或运算符
例如:
(controller.Equals("firm").Equals("service").Equals("training"))
如何将我让这个它将匹配“公司”或“服务”或“培训”? 感谢
你想要的东西很可能是使用的“让”字的收集和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或其他)。
使用Contains()
可以达到同样的效果。
(new[] { "firm", "service", "training" }.Contains(controller))
如果要动态地构建LINQ查询,你可以看看PredicateBuilder
有些人都不知道LINQ是,本质上,只是一组扩展C#.NET的。由于asp.net mvc,很多(如我)被引入到LINQ中。 – 2011-01-27 13:40:15