Solo en mi máquina esto sucede. Básicamente, si corro el siguiente todo es como se esperaba:¿Por qué el molde siempre devuelve cero solo cuando se depura en VS2010?
double d = 500.22;
int i = (int)d;
Console.WriteLine(i.ToString());
de salida es de 500.
Sin embargo si pongo un punto de interrupción en la primera línea y el paso a través, que siempre vuelve a cero y la salida es 0.
He probado esto en otras máquinas y no puedo replicar, incluso he reinstalado VS2010 y todavía sucede. Así que estoy pensando que debe haber algún tipo de configuración de entorno que tengo en mi sistema, pero no puedo entender qué.
Alguien más tenía este problema y cómo me deshago de él.
Saludos.
EDITAR: Parece que el problema es solo con la 2da línea. Si pongo un punto de quiebre en la 1.ª línea y luego solo F5 sobre él, entonces todo está bien. Pero si entro/sobre la 2da línea, el casting no parece funcionar y me quedo en 0.
También intenté establecer i a 1 primero y luego ver si el molde funciona, pero cambia de nuevo a 0 y elimina mi valor inicial de 1.
Aquí hay una captura de pantalla:
¿Pasó, o lo pisó? – codymanix
Si quieres decir entrar o salir, he hecho ambas cosas. – HAdes
¿Podría proporcionar capturas de pantalla? ¿Estás diciendo que el depurador dice que i == 0 en la información sobre herramientas cuando cierras? ¿O dice i == 0 en la ventana del reloj? O ventana inmediata? ¿Dónde está tu código cuando eso sucede? ¿Rompiendo en Console.WriteLine? – sisve