Visual CSharp .NET - CASTING

 
Vista:

CASTING

Publicado por ifer (43 intervenciones) el 16/03/2005 20:42:02
Que es lo ideal, usar Convert.ToBoolean(MyVar) o (bool)MyVar ?
Lo que sucede es lo siguiente:

int a=100;
bool b=(bool)a;

Dice que no puede convertir de int a bool, pero si hago:

bool b=convert.toBool(a);

acepta! por que?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CASTING

Publicado por Edgar (82 intervenciones) el 17/03/2005 14:35:32
Hola

Me imagino que lo que te da es un Warning en el primer caso.. lo que sucede es que al convertir de int a bool, se pierden datos, pero hasta donde tengo entendido, la conversion debe ser igual a la de C/C++ 0 es falso, cualquier otra cosa es verdadero

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASTING

Publicado por ifer (43 intervenciones) el 17/03/2005 17:40:43
hola

pues la falla no es tan benigna, cundo intento:
(bool) a;
lo que da es un error en la ventana de salida y ya no compila, si quereis has la prueba, luego leyendo me entero que C++ si admite tal conversion, pero CSharp no, lo que me intrega es que con convert.ToBoolean no hay problema, pero vale, supongo que con un Checked( ... ), tendria mas seguridad de que no ocurra alguna excepcion.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CASTING

Publicado por Edgar (82 intervenciones) el 17/03/2005 20:13:48
Hola

Justamente.. C++ lo permite porque el bool de C++ no es mas que un entero.. donde 0 es false y cualquier otra cosa es true

Ahora bien.. si te sirve el Convert.ToBoolean, pues usalo, pero asegurante antes de que lo que te devuelve no es un valor predeterminado debido a que no pudo hacer la conversión

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar