我想使用LINQ返回处于三种状态之一的任务列表。这些状态是:C#LINQ语句与OR子句
10 - 完成 11 - 不完全 12 - 跳过
的状态是可以通过一个名为 “TaskStateID” 属性。我可以在LINQ中只有一个国家这样做如下所示:
var filteredTasks = from task in tasks
select task;
// Do stuff with filtered tasks
string selectedComboBoxValue = GetFilterComboBoxValue();
if (selected ComboBoxValue == 3)
{
filteredTasks = filteredTasks.Where(p => p.TaskStateID == 10); // How do I use an 'OR' here to say p.TaskStateID == 10 OR p.TaskStateID == 11 OR p.TaskStateID == 12
}
如上所示的评论,我怎么使用的“或”在LINQ声明说p.TaskStateID == 10或P .TaskStateID == 11或p.TaskStateID == 12?
谢谢
+1可维护性! – 2010-03-13 17:06:00
只要你把lambda操作符放在正确的地方......哦,并且记住这将创建一个闭包。 – 2010-03-13 17:14:40
您也只能使用包含字符串。 – Hemslingo 2016-07-07 09:16:01