Cast o no Cast

27/05/2005 - 18:12 por Benton | Informe spam
Hola grupo,

Tengo duda sobre cual es la diferencia entre

int valor = (int) v1 / v2;
y
int valor = Convert.ToInt32(v1 / v2)

Es decir, cuando es más conveniente usar una u otra, o cual es la diferencia
esencial.

Gracias,

-Benton
 

Leer las respuestas

#1 Tristan
27/05/2005 - 22:03 | Informe spam
Por cierto, en realidad lo similar sería:

int valor = (int) (v1 / v2);
y
int valor = Convert.ToInt32(v1 / v2)

Imagino que lo sabes, pero nunca sobra. Lo digo por lo de las prioridades de
operadores y esas cosas.


Una diferencia importante entre las dos conversiones es esta:

valor = (int) "1"; // Error de compilación
valor = Convert.ToInt32("1"); // Devuelve el valor entero 1

Es decir, el operador de cast es más estricto.

El casting, llama al operador de conversión explicita definido en la clase.
Por el contrario, las conversiones de la clase Convert, utilizan la
interface IConvertible del tipo correspondiente.



Juan Carlos Badiola
MVP - C#

Preguntas similares