01/10/2018, 17:25

2 kết quả khác nhau khi chạy debug

This post was flagged by the community and is temporarily hidden.

Songtotnhe viết 19:33 ngày 01/10/2018

Sai là sai thế nào?
Kết quả mong muốn là gì?
Kết quả thực tế là gì?
Hình đâu?

Vinh Nguyễn viết 19:35 ngày 01/10/2018

dạ chào ạ, ví dụ là nhập tử là -5, mẫu là 3. Kiểm tra điều kiện nếu số nao âm thì chuyển thành 1. F5 chạy thì ra -5/3 còn F11 chạy vào từng hàm thì lại ra 1/3, ko hiểu sao luôn.

Vinh Nguyễn viết 19:29 ngày 01/10/2018

F5

Songtotnhe viết 19:25 ngày 01/10/2018

Kiểm tra điều kiện nếu số nao âm thì chuyển thành 1

Có GET và SET, bạn chỉ viết lệnh kiểm tra cho GET, thì khi bạn gán On = …, tức là dùng SET, thì nó không có lệnh kiểm tra là đúng rồi.
Còn lúc bạn gọi hàm Print, bạn không gọi ‘On’ mà gọi ‘on’, nó lấy giá trị trực tiếp từ biến.

Vinh Nguyễn viết 19:29 ngày 01/10/2018

Nhưng mà theo mình thấy thì F5 và F11 giống nhau mà ra 2 kết quả khác nhau là sao nhỉ, bạn có teamview ko, vào máy mình xem đi.

Songtotnhe viết 19:41 ngày 01/10/2018

Chụp hình 1/3 lúc F11 lên xem nào

Vinh Nguyễn viết 19:26 ngày 01/10/2018

đây ạ

Trương Tấn Phát viết 19:33 ngày 01/10/2018

Lâu không nhớ. Nhưng có phải F5 là “Run” còn F11 là “Debug” không?

Lý do là thế!

Khi bạn Chạy (Run) thì (get) không được gọi (trong mã không hề gọi this.On hay this.Below) mà chỉ gán (set). Nên giá trị giữ nguyên -5/3.
Khi Gỡ lỗi (Debug) công cụ gỡ lỗi có gọi đến (get) nên phần kiểm tra số âm sẽ định lại giá trị thành 1/3.

Nếu bạn muốn kiểm tra hay chuẩn hóa giá trị thì nên thực hiện trong hàm gán (setter).

            public int On
            {
                set
                {
                    on = value;
                    if (on < 0)
                        on = 1;
                }
                get
                {
                    return on;
                }
            }
Trần Hoàn viết 19:32 ngày 01/10/2018

Thanh niên này suy nghĩ kỳ cục vãi, chuẩn hoá trong getter :))

Vinh Nguyễn viết 19:31 ngày 01/10/2018

hjhj, trứng cũng có trứng lộn, cá cũng có cá bóng, nhiều lúc mình cũng lộn mà. Chính nhờ có lộn đó mà mình mới hiểu vấn đề, cảm ơn nhé, hjhj.

Bài liên quan
0