我正在将一行代码从.NET 4.0折射到3.5,实际代码是
if(bar?.foo == "outdated")
bar = new Bar();
我可以用这种方式折射这些线并保持相同的逻辑吗?
if(bar == null || bar.foo == "outdated")
bar = new Bar();
if
评估是否在bar == null
之后停止(因为表达式为真,无论其他部分是返回true还是false),还是继续检查bar.foo
即使第一部分已经返回true,因此抛出一个空异常?