使用可能具有或不具有null值的值的正确方法是什么?
我有一段这段代码,如果正在休假的员工有一位经理,则会向经理发送电子邮件。
if(holidayRequestForm.Employee.Site.SiteManagerEmail != null)
{
SendMailToManager();
}
但这会导致NullReferenceException。
如果该雇员拥有一个而不引起SendMailToManager()
的调用NullReferenceException
的正确方法是什么?
以这种方式使用可能的null值是不好的做法吗?
答案 0 :(得分:5)
看看Null条件运算符?。 docs中的内容,以了解如何重写if
语句(避免使用NullReference异常)。
if(holdayRequestForm?.Employee?.Site?.SiteManagerEmail != null)
{
SendMailToManager();
}
我认为这不是一个坏习惯。我认为您在上述情况下没有其他可能性。