Здравствуйте, alexzzzz, Вы писали:
A>Не, ну учитывая, что у оператора обращения к члену типа приоритет выше, чем у оператора ?[], оно, возможно, и не должно компилироваться. Но откуда 'int'?
Да логично всё вроде. Код разворачивается в
array == null ? null : array[0].HasValue
точно так же как
person?.Name.Length
// превращается в
person == null ? null : person.Name.Length
Почему так — долгая история,
краткое изложение тут и
тут. Но за человеческим объяснением — эт, разумеется, к
nikov. Сам с удовольствием прочитаю