ASP.NET MVC 使用可能具有或不具有 null 值的值的正确方法?

ASP.NET MVC correct way to use values that may or may not have the value of null?

使用可能具有或不具有 null 值的值的正确方法是什么?

如果请假的员工有经理,我有这段代码可以向经理发送电子邮件。

 if(holidayRequestForm.Employee.Site.SiteManagerEmail != null)
            { 
            SendMailToManager();
            }

然而,这会导致 NullReferenceException。

如果该员工有一个调用 SendMailToManager() 而不会导致 NullReferenceException,那么调用 SendMailToManager() 的正确方法是什么?

以这种方式使用可能的空值是一种不好的做法吗?

看看 Null-conditional 运算符 ?。在 docs 中,以便了解如何重写 if 语句(避免 NullReference 异常)。

if(holdayRequestForm?.Employee?.Site?.SiteManagerEmail != null)
{
    SendMailToManager();
}

我认为这不是一个坏习惯。我认为您在描述的情况下没有任何其他可能性。