double? test = true ? null : 1.0;
Nel mio libro, questo è lo stesso diPerché questo codice C# non viene compilato?
if (true) {
test = null;
} else {
test = 1.0;
}
Ma la prima linea dà questo errore del compilatore:
Type of conditional expression cannot be determined because there is no implicit conversion between '
<null>
' and 'double
'.
puoi sempre inviare l'Errata all'editore del libro :) o forse è già stato trovato ed è nel libro Errata (normalmente nel sito web del publisher) – balexandre
L'espressione "nel mio libro" significa "per quanto ne so" - Non si tratta di un riferimento a un libro vero :-) –
La tua posizione è identica a quella dell'altro non è confermata dalla specifica della lingua o dall'implementazione; quelle due cose sono davvero molto diverse! Il messaggio di errore è corretto; la specifica del linguaggio richiede che l'espressione sia implicitamente convertibile in double ?, che richiede a sua volta che l'espressione abbia un tipo noto. L'espressione non ha un tipo noto, quindi l'errore. –