空合并运算符是否有“对立”?(...用任何语言?)
空合并大致可转换为 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);,但是如果您有更好的东西,我也想看看。)