流暢な構文で記述されている場合、同じ行内でLINQステートメントを「短絡」する構文シュガーまたは方法はありますか? たとえば、呼び出しnullによって返された場合FirstOrDefault、null を返すことは可能ですか?そうでない場合は、残りのメソッド チェーンを続行しますか?
List<string> testList = new List<string>() { "some", "strings" };
var reversed = testList.FirstOrDefault(x => x == "hello").Reverse();
FirstOrDefault呼び出しは null を返すため、ステートメントは呼び出しで をスローしArgumentNullExceptionますReverse。Reverseその時点でデフォルト値が返されたので、呼び出しの前に停止する方法はありますか?
(クエリを別の行に分割してdefault(T)前にチェックできることは知っていますがReverse、単純なケースでは条件演算子(?:)を使用できますが、より長い/より複雑なチェーンの特定の機能が欠けているかどうか知りたいです)
編集 - 明確にするために、これはアイデアを示すための単なる例であり、実際のコードの一部ではありません。行を分割してチェックを行う方がパフォーマンスが向上するため、例外がスローされるのを避けたいと思います。