LINQクエリでブール値を真と偽の両方と比較するにはどうすればよいですか?boolean値がtrueまたはfalseのLINQクエリ
hideCompletedがtrueの場合、私は完了するが 偽の値を表示したいhideCompletedがfalseの場合、私は完了するには
真または偽の例である値を示したい:ちょうどに
(t1.IsCompleted ?? false == (hideCompleted == true ? false : (true || false)))
LINQクエリでブール値を真と偽の両方と比較するにはどうすればよいですか?boolean値がtrueまたはfalseのLINQクエリ
hideCompletedがtrueの場合、私は完了するが 偽の値を表示したいhideCompletedがfalseの場合、私は完了するには
真または偽の例である値を示したい:ちょうどに
(t1.IsCompleted ?? false == (hideCompleted == true ? false : (true || false)))
をhideCompletedがfalseの場合、IsCompletedの値が何であるか気にしません。
var query = dc.SomeTable;
if (hideCompleted)
{
query = query.Where(t1 => !t1.IsCompleted);
}
hideCompleted
あなたはt1.IsCompleted
が偽であるためにフィルタリング真である。この方法:その場合は...
!(hideCompleted && t1.IsCompleted)
はhideCompleted
が、このアプローチに似て、真であることに基づいてクエリを作成します。 hideCompleted
がfalseの場合、元のクエリはt1.IsCompleted
の値に関係なくすべての結果を取得します。
あなたは
where (hideCompleted==true && t1.IsCompleted==false) || (hideCompleted==false)
一方では、答えは、この条件を使用することができますエンティティにLINQでこれを使用しているとき、私は問題に遭遇し、直感的かつ論理的に正しいです。マックス・ゼルビニの答えが私のために働いた。 – Jeff