Xem tiêu đề chuỗi. Tôi có thể làm điều gì đó an toàn như vậy mà không phải lo lắng về một số NullReferenceException
hoặc không được đảm bảo rằng những biểu thức boolean đó sẽ được đánh giá từ trái sang phải không?Có an toàn để kiểm tra một đối tượng cho null và trong cùng câu lệnh if so sánh giá trị thuộc tính của đối tượng không?
// can this throw an NRE?
if (obj == null || obj.property == value)
{
// do something
}
Trong khi q này. là về C#, trong trường hợp bạn cần phải làm VB, nó thường bị quên rằng VB.NET theo mặc định * không thực hiện đánh giá ngắn mạch * cho 'Or' và' And', có thể giới thiệu các lỗi khó tìm. Tuy nhiên, các từ khóa 'OrElse' và' AndAlso' đã được giới thiệu để hỗ trợ sự thiếu hụt rõ ràng này. – Abel
'OrElse' cũng đã mở ra cánh cửa cho một loạt trò đùa què quặt giữa nhóm VB ..." Hãy làm ... 'OrElse' ..." – corsiKa