2011-01-27 87 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))