如何打开/关闭布尔开关和OR运算符

时间:2012-11-22 11:26:11

标签: c# linq operators boolean-logic

我正在使用Linq代码来查询数据库,并且根据布尔值,我需要在使用语句和使用!语句(即NOT)之间切换,如何在不使用下面的if / if的情况下执行此操作否则这意味着我有两个非常相同的代码。

请参阅以下示例:

private string getFromDB(bool decision)
{
    if (decision)
    {
        return db.Where(p => (Types.Contains(p.CurrentOwner)));
    }
    else
    {
        return db.Where(p => !(Types.Contains(p.CurrentOwner)));
    }
}

它必须可用于LINQ查询,上面的示例简化为问题的本质。

提前致谢!

1 个答案:

答案 0 :(得分:5)

private string getFromDB(bool decision)
{
    return db.Where(p => (Types.Contains(p.CurrentOwner) == decision));
}