Согласно документации as
, оператор , as
"используется для выполнения определенных типов преобразований между совместимыми ссылочными типами ». Поскольку Nullable на самом деле является значением value type , я ожидаю, что as
не будет работать с ним. Однако этот код компилируется и запускается:
object o = 7;
int i = o as int? ?? -1;
Console.WriteLine(i); // output: 7
Это правильное поведение? Документация для как
неверна? Я что-то упускаю?