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
です。なんで?