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