In base alla documentazione dello as
operator, as
"viene utilizzato per eseguire determinati tipi di conversioni tra tipi di riferimento compatibili". Dal momento che Nullable is actually a value type, mi aspetterei che as
non funzioni con esso. Tuttavia, questo codice viene compilato ed eseguito:Perché l'operatore as può essere utilizzato con Nullable <T>?
object o = 7;
int i = o as int? ?? -1;
Console.WriteLine(i); // output: 7
È questo comportamento corretto? La documentazione per as
è errata? Mi sto perdendo qualcosa?
Nullable è un tipo di valore, ho corretto il testo. –
@ Matthew: Grazie. Era un errore di battitura piuttosto confuso. – recursive
Grande discussione su AS/IS e Nullables - http://stackoverflow.com/questions/1583050/performance-surprise-with-as-and-nullable-types – sll