Trong C#, các phương pháp sau đây sẽ không biên dịch:Tại sao trình biên dịch hoạt động khác với mã này?
public bool IsItTrue()
{
}
Các lỗi biên dịch: 'IsItTrue()': không phải tất cả đường dẫn mã trả về một giá trị, có ý nghĩa hoàn hảo. Nhưng sau đây biên dịch mà không có bất kỳ vấn đề.
public bool IsItTrue()
{
while (true)
{
}
}
Có vẻ như không có báo cáo trả lại nào cả. Tại sao nó như vậy? Bất kỳ trợ giúp nào tại đây ...,
Giải thích nhỏ xin vui lòng .., – Dhana
Thú vị là trình biên dịch sẽ cho phép điều đó.Tôi có thể thấy lý do tại sao nó * có thể được cho phép, nhưng tôi tự hỏi mục đích thực tế của cuộc sống là gì. –
Tôi biết rằng chúng tôi có thể muốn một cái gì đó tương tự như một thời gian (đúng) cho một sợi, nhưng ngay cả một sợi nên kết thúc tại một số điểm? Vì vậy, nếu trình biên dịch có thể phát hiện tình huống như vậy tại sao nó không ném một điểm lỗi một vòng lặp vô hạn? – uriDium