1

我想知道这样的代码是否应该执行GetAnotherValue()

int? x1 = null;
var check = x1 <= GetAnotherValue();

我认为这不应该,因为这对我来说听起来更合理。但我不确定这是否得到保证。据我所知,规范没有说明这一点。

编辑:

我发现了更多关于表达式主题的规范文档。不过还不清楚。

似乎提升的运算符将两个操作数都转换为可空等效项,然后检查空值并在需要时调用原始运算符。

这意味着我的GetAnotherValue()方法将被执行,以生成int?提升比较的第二个值。我对这种解释是否正确?

4

0 回答 0