Zgodnie z dokumentacją urządzenia as
operator, as
"służy do wykonywania określonych typów konwersji między zgodnymi typami odniesienia". Od Nullable is actually a value type, oczekiwałbym, że as
nie będzie z nim pracował. Jednak ten kod kompiluje i uruchamia:Dlaczego operator as może być używany z Nullable <T>?
object o = 7;
int i = o as int? ?? -1;
Console.WriteLine(i); // output: 7
Czy to prawidłowe zachowanie? Czy dokumentacja dla as
jest nieprawidłowa? Czy czegoś brakuje?
Nullable to typ wartości, poprawiłem Twój tekst. –
@Matthew: Dzięki. To było dość mylące literówka. – recursive
Wspaniała dyskusja na temat AS/IS i Nullables - http://stackoverflow.com/questions/1583050/performance-surprise- with-as-and-nullable-types – sll