Применяют ли увеличенные операторы для типов значений, допускающих значение NULL, короткое замыкание? - PullRequest
1 голос
/ 26 мая 2020

Интересно, должен ли подобный код выполняться GetAnotherValue()?

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

Я предполагаю, что не должен, поскольку это звучит более разумно для меня. Но я не уверен, что это гарантировано. Насколько я могу судить, спецификация ничего не говорит об этом.

EDIT:

Я нашел еще несколько спецификационных документов на topi c из выражения . Это все еще не ясно.

Кажется, что поднявшие операторы конвертируют оба операнда в эквиваленты, допускающие значение NULL, затем проверяют наличие нулей и при необходимости вызывают исходные операторы.

метод будет выполнен, чтобы произвести второе int? значение для повышенного сравнения. Прав ли я с этой интерпретацией?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...