Chỉ trên máy của tôi điều này xảy ra. Về cơ bản nếu tôi chạy sau tất cả là như mong đợi:Tại sao truyền luôn luôn trả về số không khi gỡ lỗi trong VS2010?
double d = 500.22;
int i = (int)d;
Console.WriteLine(i.ToString());
Output là 500.
Tuy nhiên nếu tôi đặt một breakpoint trên dòng đầu tiên và bước qua, tôi luôn luôn trở lại trạng không và đầu ra là 0.
Tôi đã thử nghiệm điều này trên các máy khác và tôi không thể sao chép, thậm chí tôi đã cài đặt lại VS2010 và nó vẫn xảy ra. Vì vậy, tôi nghĩ rằng nó phải được một số loại môi trường thiết lập mà tôi có trên hệ thống của tôi, nhưng tôi không thể tìm ra những gì.
Bất kỳ ai khác có vấn đề này và làm cách nào để loại bỏ vấn đề này.
Chúc mừng.
CHỈNH SỬA: Dường như sự cố chỉ xảy ra với dòng thứ hai. Nếu tôi đặt một điểm phá vỡ trên dòng 1 và sau đó chỉ cần F5 trên nó, sau đó nó là tất cả ok. Nhưng nếu tôi bước vào/trên dòng thứ 2, quá trình truyền dường như không hoạt động và tôi vẫn ở 0.
Tôi cũng đã thử đặt i thành 1 trước và sau đó nhìn thấy nếu dàn diễn viên hoạt động, nhưng nó thay đổi trở lại 0 và loại bỏ giá trị ban đầu của tôi về 1.
Dưới đây là một ảnh chụp màn hình:
Bạn đã từng bước hay đã từng bước? – codymanix
Nếu bạn có nghĩa là bước vào hoặc hơn, sau đó tôi đã làm cả hai. – HAdes
Bạn có thể cung cấp ảnh chụp màn hình không? Bạn có nói rằng trình gỡ rối nói rằng i == 0 trong chú giải công cụ khi di chuột? Hoặc hiện nó i == 0 trong cửa sổ xem? Hoặc ngay lập tức cửa sổ? Mã của bạn khi điều đó xảy ra ở đâu? Breaking tại Console.WriteLine? – sisve