如何在LINQ查詢中將布爾值與true和false進行比較?LINQ查詢其中布爾值是true或false
如果hideCompleted是真的,我想顯示值,其中IsCompleted是假 如果hideCompleted是假的,我要顯示值,其中IsCompleted是真的還是假
例子:
(t1.IsCompleted ?? false == (hideCompleted == true ? false : (true || false)))
如何在LINQ查詢中將布爾值與true和false進行比較?LINQ查詢其中布爾值是true或false
如果hideCompleted是真的,我想顯示值,其中IsCompleted是假 如果hideCompleted是假的,我要顯示值,其中IsCompleted是真的還是假
例子:
(t1.IsCompleted ?? false == (hideCompleted == true ? false : (true || false)))
只是爲了請確保我正確理解你,如果hideCompleted爲false,你不在乎IsCompleted的價值是什麼?如果是這樣的......
!(hideCompleted && t1.IsCompleted)
構建基於查詢的hideCompleted
是真實,類似這樣的方法:
var query = dc.SomeTable;
if (hideCompleted)
{
query = query.Where(t1 => !t1.IsCompleted);
}
這樣當hideCompleted
是真的,你篩選t1.IsCompleted
是假的。當hideCompleted
爲false時,原始查詢將獲取所有結果,而不管t1.IsCompleted
的值如何。
你可以使用這個條件
where (hideCompleted==true && t1.IsCompleted==false) || (hideCompleted==false)
雖然是答案是直觀和邏輯上是正確的,我用這個與LINQ到實體時遇到的問題。 Max Zerbini的回答爲我工作。 – Jeff