On 06.10.2017 09:11, Mauro Molinari wrote:
[...]
x = a?.b?.c?.d

is translated as:

var tmp
tmp = a==null?null: a.b
tmp = tmp==null?null: tmp.c
tmp = tmp==null?null: tmp.d
x = tmp [cut]
while x = a??.b.c.d is

var tmp
tmp = a==null?null: a.b.c.d
x = tmp

So are you saying that "a??.b.c" is NOT equivalent to "a?.b?.c"? With this implementation of "??", a NPE is thrown if a is not null but a.b is...

with this implementation we talk about my example here. That is not what is implemented right now. May pint is that in my version the null check stops the evaluation of the remaining expression, while the current ??. does it for each part.

bye Jochen

Reply via email to