null 条件演算子が通常のプロパティ アクセスとどのようにカスケードするかについて混乱しています。次の 2 つの例を見てください。
a?.b.c
(a?.b).c
最初に の値a?.bが評価され、次にresult.c評価されます。したがって、 の場合a == null、例外をスローする必要があります。
ただし、これは 2 番目の式でのみ発生します。最初の式は と評価されます。nullつまり、 と同じa?.b?.cです。なんで?
null 条件演算子が通常のプロパティ アクセスとどのようにカスケードするかについて混乱しています。次の 2 つの例を見てください。
a?.b.c
(a?.b).c
最初に の値a?.bが評価され、次にresult.c評価されます。したがって、 の場合a == null、例外をスローする必要があります。
ただし、これは 2 番目の式でのみ発生します。最初の式は と評価されます。nullつまり、 と同じa?.b?.cです。なんで?