Solo sulla mia macchina ciò accade. pratica se si esegue il seguente tutto è come previsto:Perché cast restituisce sempre zero solo durante il debugging in VS2010?
double d = 500.22;
int i = (int)d;
Console.WriteLine(i.ToString());
uscita è 500.
Tuttavia se metto un punto di interruzione sulla prima riga e passo attraverso, ho ritorna sempre a zero e l'uscita è 0.
Ho provato questo su altre macchine e non riesco a replicare, ho anche reinstallato VS2010 e succede ancora. Quindi penso che debba essere una sorta di ambiente che ho sul mio sistema, ma non riesco a capire cosa.
Chiunque altro ha avuto questo problema e come posso liberarmene.
Cheers.
MODIFICA: Sembra che il problema riguardi solo la seconda linea. Se metto un punto di interruzione sulla prima riga e poi solo su F5, allora va tutto bene. Ma se passo alla/2a riga, il casting non sembra funzionare e io resto a 0.
Ho anche provato a impostare prima a 1 e poi a vedere se il cast funziona, ma cambia di nuovo a 0 e rimuove il mio valore iniziale di 1.
Ecco uno screenshot:
Hai attraversato, o sei passato? – codymanix
Se intendi entrare o finire, allora ho fatto entrambe le cose. – HAdes
Potresti fornire screenshot? Stai dicendo che il debugger afferma che ho == 0 nella descrizione quando si passa il mouse? O lo stato == 0 nella finestra di controllo? O finestra immediata? Dov'è il tuo codice quando ciò accade? Rottura su Console.WriteLine? – sisve