usuario try tipos que propias por personalizadas manejo existen excepciones ejemplos crear creadas catch c# linq casting linqpad

try - throw exception c#



Excepción de lanzamiento no válido en int para doblar (1)

C # permite una conversión de int directamente a double , pero no de int a object to double .

int i = 1; object o = i; double d1 = (double)i; // okay double d2 = (double)o; // error

El método de extensión Enumerable.Cast se comporta como este último. No convierte los valores a un tipo diferente, afirma que los valores ya son del tipo esperado y lanza una excepción si no lo son.

Puede probar (new int[]{1,2,3,4,5}).Select(i => (double)i) para obtener el comportamiento de conversión de valor.

Tal vez estoy loco, pero pensé que este era un elenco válido:

(new int[]{1,2,3,4,5}).Cast<double>()

¿Por qué LinqPad está lanzando un

InvalidCastException: la conversión especificada no es válida.

?