Tôi có các điều kiện sau nếu điều kiện param.days
là một chuỗi.Tại sao điều này không được phép trong C#?
if (param.days != null)
này hoạt động tốt, nhưng nếu tôi nói
If (param.days)
sau đó nó không đánh giá một cách chính xác khi chạy. Cả hai câu lệnh đều không giống nhau trong C#.
Nó nói rằng giá trị là null nhưng sau đó C# cố gắng để đúc nó vào một bool đó là không nullable. Tại sao các nhà thiết kế C# chọn làm theo cách này? Tuyên bố như vậy hợp lệ trong C++, nhưng tại sao điều này không được coi là hợp lệ trong C#?
null không phải là boolean – Sayse
Loại 'param.days' là gì? –
@Sayse: Có, tôi hiểu điều đó, nhưng có lý do nào khác cho việc này không được đánh giá đúng không. Hay là bởi vì bool là một kiểu không có giá trị và không có cách nào khác. – ckv