1
申し訳ありませんが、私はそうのようなオブジェクトを返すようにしたい...LINQネストされた条件
を検索し、ダース関連記事について通読が、かなり私が必要なものを見つけることができませんでしたしました:
((Status == 1 || Status == 2) && Value = 'Green')
私はSQLでできるので、私はLinqで括弧を使うことはできません。私は、次のことを試してみた:
list.Where(x => x.Status == 1 || x.Status == 2)
.Where(x => x.Value == 'Green')
// or...
list.Where(x => x.Value == 'Green')
.Any(x => x.Status == 1 || x.Status == 2)
// or...
list.Where(x => x.Status == 1 || x.Status == 2)
.Any(x => x.Value == 'Green')
(またはその複数の他のバリエーション)
は、任意のより多くの「正しい」他よりも一つの方法でありますか?
私はそれからいくつかの結果を棍棒ことができますが、私は2つの主な懸念があります。
- 受け入れのベストプラクティス(1が存在する場合)で、かつ
- 私のインデックスが状況に合わせて最適化されていますpredicate first ... Linqはこれを実現するのに十分スマートであるか、あるいは上記の特定のバージョンはインデックス述語が最適な順序で伝播されることを保証しますか?
x =>((x.Status == 1 || x.Status == 2)&& x.Value = 'Green') ' – dasblinkenlight
@dasblinkenlight - 何も間違っていません...それが最初でした私が試したことはありますが、私は構文が間違っていたに違いありません(実際の状態はもっと複雑です)。あなたのコメントは私にそれを再試行するように促しました、そして今はよく見えます。私の質問で#2についてまだ半分好奇心が強いですが、あなたが答えとしてあなたのコメントを投稿すれば、私はそれをマークします。ありがとう – jleach