Интересно, должен ли подобный код выполняться GetAnotherValue()
?
int? x1 = null;
var check = x1 <= GetAnotherValue();
Я предполагаю, что не должен, поскольку это звучит более разумно для меня. Но я не уверен, что это гарантировано. Насколько я могу судить, спецификация ничего не говорит об этом.
EDIT:
Я нашел еще несколько спецификационных документов на topi c из выражения . Это все еще не ясно.
Кажется, что поднявшие операторы конвертируют оба операнда в эквиваленты, допускающие значение NULL, затем проверяют наличие нулей и при необходимости вызывают исходные операторы.
метод будет выполнен, чтобы произвести второе int?
значение для повышенного сравнения. Прав ли я с этой интерпретацией?