我正在尝试使用 LINQ 返回处于三种状态之一的任务列表。这些状态是:
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 OR p.TaskStateID == 11 OR p.TaskStateID == 12?
谢谢
最佳答案
使用 OR
(||) 运算符:
filteredTasks = filteredTasks.Where(p => p.TaskStateID == 10 ||
p.TaskStateID == 11 ||
p.TaskStateID == 12);
关于C# - 带有 OR 子句的 LINQ 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2439142/