首页 > 解决方案 > ASP.NET MVC 正确使用可能具有或不具有 null 值的值的方法?

问题描述

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

如果正在休假的员工有经理,我有这段代码会向经理发送电子邮件。

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

但是,这会导致 NullReferenceException。

如果EmployeeSendMailToManager()有一个而不导致NullReferenceException.

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

标签: c#asp.net-mvcnullreferenceexception

解决方案


看看空条件运算符?。在文档中以了解如何重写if语句(避免 NullReference 异常)。

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

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


推荐阅读