IEnumerable<WireUsrTgInfo> lstWireData =
(from var in lstWireUsrTgInfo
where var.bWireData == true && var.bWireData == false --> This is not working
select var).AsEnumerable<WireUsrTgInfo>();
これを行う方法 ...
提供されたコードによると
var.bWireData == true && var.bWireData == false
同じ変数が両方の反対の値と等しくなることはできないため、機能しません。
これをパラメータ化する必要がある場合は、次のように実行できます。
bool expectedValue = true; //OR False
IEnumerable<WireUsrTgInfo> lstWireData = (from var in lstWireUsrTgInfo
where var.bWireData == expectedValue
select var).AsEnumerable<WireUsrTgInfo>();
編集
クエリでは使用しないでくださいvar
。これは文脈上の (Monkieboy が説明する)C#
キーワードです。明確にするために、使用できますが、混乱を招くため、使用しないでください。
bWireData
true と false の両方にすることはできません。あなたの論理には欠陥があります。
他の回答が述べたように、フィルター条件が間違っています。しかし、私が追加したいことが他にあります:
true
ブール データをまたはと比較しないでくださいfalse
。ブールデータは、実際には質問に対する答えtrue
です。
var query = from info in lstWireUsrTgInfo
where info.bWireData // selects data which is true
select info;
もvar
キーワードです。
また、変数名にプレフィックスを使用しないでください (代わりに、より適切な名前付けを検討してください - HasWireData
, wireUserTagInfos
)。
これは決して機能しません: WHERE bWireData == true && bWireData == false
bWireData が同時に true と false の両方になることはできないため、非論理的です。
var
はキーワードであるため、混乱を避けるために変数の名前として使用しないでください。
&& は正しい演算子です。しかし、他の投稿者が指摘しているように、あなたの質問はそのままでは「オバマが大統領で、オバマが大統領でないなら私を幸せにしてください」と言っているのと同じです。基本的に、矛盾を設定しました。これは常に false と評価されるため、結果は返されません。余談ですが、&& は条件付 AND であることに興味があるかもしれません。つまり、第 2 項は第 1 項が true の場合にのみ評価されるため、結果が必然的に false の場合に第 2 項の処理を省略できます。