LINQ查询,其中布尔值为true或false

时间:2011-10-16 21:41:04

标签: asp.net linq asp.net-mvc-3 linq-to-sql

如何在LINQ查询中将布尔值与true和false进行比较?

如果hideCompleted为true,我想显示IsCompleted为false的值 如果hideCompleted为false,我想显示IsCompleted为true或false的值

示例:

(t1.IsCompleted ?? false == (hideCompleted == true ? false : (true || false)))

3 个答案:

答案 0 :(得分:6)

为了确保我理解正确,如果hideCompleted为false,你不关心IsCompleted的值是多少?如果是的话......

!(hideCompleted && t1.IsCompleted)

答案 1 :(得分:4)

根据hideCompleted为真建立您的查询,类似于此方法:

var query = dc.SomeTable;
if (hideCompleted)
{
    query = query.Where(t1 => !t1.IsCompleted);
}

hideCompleted为真时,您过滤t1.IsCompleted为false。当hideCompleted为false时,无论t1.IsCompleted的值如何,原始查询都会获取所有结果。

答案 2 :(得分:3)

你可以使用这个条件

where (hideCompleted==true && t1.IsCompleted==false) || (hideCompleted==false)
相关问题