У меня есть следующий оператор OR, теперь в настоящее время, если c равно null, будет возвращено представление Error, и при второй проверке не будет возникать нулевое исключение (! C.ManagedBy ...);но это произойдет, только если компилятор выполнит проверку (c == null) перед проверкой (! c.Ismanaged ..).
Book c = elearningrepository.GetBook(id);
if ((c == null) || (!c.IsManagedBy(User.Identity.Name)))
{
return View("Error");
}
, поэтому я могу гарантировать, что компилятор всегда будет выполнять команду c== сначала проверьте NULL, либо лучше разделить вышеуказанную проверку на два отдельных оператора If, чтобы явно реализовать последовательность.BR