流暢な構文で記述されている場合、同じ行内で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
、単純なケースでは条件演算子(?:
)を使用できますが、より長い/より複雑なチェーンの特定の機能が欠けているかどうか知りたいです)
編集 - 明確にするために、これはアイデアを示すための単なる例であり、実際のコードの一部ではありません。行を分割してチェックを行う方がパフォーマンスが向上するため、例外がスローされるのを避けたいと思います。