nullの合体は、おおよそ return x, unless it is null, in which case return y
私はしばしば必要です return null if x is null, otherwise return x.y
私は使えます return x == null ? null : x.y;
悪くはありませんが、null
その真ん中はいつも私を悩ませます-それは不必要に思えます。return x :: x.y;
次のようなものは、その::
前にあるものが評価されない場合にのみ評価されるようなものを好みますnull
。
私はこれを見るほぼ【種類簡潔との混合での、ヌル合体とは反対側、インラインヌルチェック、私はよほとんど ]特定のC#には、オペレータがないこと。
そのような演算子を持つ他の言語はありますか?もしそうなら、それは何と呼ばれていますか?
(私はそのメソッドをC#で記述できることを知っています。私はを使用しreturn NullOrValue.of(x, () => x.y);
ますが、もっと良いものがあれば、それも見たいと思います。)
return x ? x.y : NULL
です。ポインタ型をブール値に変換してください!