LINQ クエリの 1 つに問題があるため、LINQPad で簡単なバージョンを作成して支援しました。問題は、なぜそれがまだ私がすべきだと思っていることをまだ行っていないのか理解できないことです...
var list = "1 2 3 4".Split();
var result = list.FirstOrDefault(x =>
x == "3"
&& true);
result.Dump();
これは3
、想定どおりに を返します。
ただし、これを実行すると:
var list = "1 2 3 4".Split();
var result = list.FirstOrDefault(x =>
x == "3"
&& false ? false : true);
私は1
戻ってきます。最後の行は、実際のコードを簡略化したものです。どちらの例もtrue
最終行で返されるはず3
ですが、条件演算子を使用したクエリはそこにねじれを投げています。
私は何が欠けていますか?