Câu hỏi nhanh ở đây về các câu lệnh ngắn mạch trong C#. Với một câu lệnh if như thế này:Đánh giá tuyên bố mạch ngắn - điều này có được đảm bảo không? [C#]
if (MyObject.MyArray.Count == 0 || MyObject.MyArray[0].SomeValue == 0)
{
//....
}
Có đảm bảo đánh giá đó sẽ dừng lại sau khi phần "MyArray.Count", với điều kiện phần là đúng? Nếu không, tôi sẽ nhận được một ngoại lệ null trong phần thứ hai.
Trong trường hợp bạn hỏi câu hỏi này vì bạn * đã nhận được ngoại lệ tham chiếu null từ mã trên, có thể vì 'MyArray' là null hoặc' MyArray [0] 'chứa một giá trị rỗng. Xem câu trả lời của tôi. –