C# - 使用LINQ陈述或条款 [英] C# - LINQ Statements with OR clauses
本文介绍了C# - 使用LINQ陈述或条款的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图使用LINQ返回有三种状态之一的任务列表。这些状态是:
I am trying to use LINQ to return a list of tasks that are in one of three states. These states are:
10 - 完成
11 - 不完全
12 - 跳过
10 - Completed 11 - Incomplete 12 - Skipped
国家通过一个名为TaskStateID属性可用。我可以在LINQ中只有一个国家做到这一点,如下所示:
The state is available through a property called "TaskStateID". I can do this in LINQ with just one state as shown here:
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?
As shown in the comment above, how do I use an 'OR' in a LINQ statement to say p.TaskStateID == 10 OR p.TaskStateID == 11 OR p.TaskStateID == 12?
感谢您
推荐答案
使用 或
(||)运算符:
Use the OR
(||) operator:
filteredTasks = filteredTasks.Where(p => p.TaskStateID == 10 ||
p.TaskStateID == 11 ||
p.TaskStateID == 12);
这篇关于C# - 使用LINQ陈述或条款的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文