Se riesco a trasmettere implicitamente un valore intero a un doppio, ad esempio:
int a = 4; double b = a; // now b holds 4.0
Perché non posso farlo:
int[] intNumbers = {10, 6, 1, 9}; double[] doubleNumbers2 = intNumbers.Cast().ToArray();
Ricevo un’eccezione InvalidCastException
“Cast specificato non valido”.
Facendo il contrario (casting da double a int) si ottiene lo stesso errore.
Che cosa sto facendo di sbagliato?