如何在LINQ查询中将布尔值与true和false进行比较?
如果hideCompleted为true,我想显示IsCompleted为false的值 如果hideCompleted为false,我想显示IsCompleted为true或false的值
示例:
(t1.IsCompleted ?? false == (hideCompleted == true ? false : (true || false)))
答案 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)