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

时间:2019-06-10 10:54:01

标签: c# asp.net-mvc nullreferenceexception

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

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

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

但这会导致NullReferenceException。

如果该雇员拥有一个而不引起SendMailToManager()的调用NullReferenceException的正确方法是什么?

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

1 个答案:

答案 0 :(得分:5)

看看Null条件运算符?。 docs中的内容,以了解如何重写if语句(避免使用NullReference异常)。

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

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