Khi tôi hiểu và đọc bạn có thể sử dụng mạch ngắn trong câu lệnh if (& & hoặc ||) để điều kiện thứ hai không kích hoạt. và nếu bạn muốn cả hai điều kiện để bắn bạn sẽ sử dụng toán hạng đơn (& hoặc |).Inline If statement - short-circuiting
Vì vậy, nói nếu tôi có inline lệnh if như sau:
var test = (MyObject != null || string.IsNullOrEmpty(MyObject.Property)) ? string.Empty : MyObject.Property;
này sẽ ném object reference
lỗi nếu MyObject là null, mà theo ý kiến của tôi nên không phải là tôi đang sử dụng mạch ngắn. Ai đó có thể giải thích điều này.
Bạn' lại thiếu dấu ngoặc đơn trước dấu '?'. – Corak
@Corak yes đã bỏ lỡ khung cuối cùng ...chỉnh sửa ngay bây giờ – Zaki