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

标签 c# asp.net-mvc nullreferenceexception

<分区>

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

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

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

然而,这会导致 NullReferenceException。

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

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

最佳答案

看看 Null 条件运算符 ?。在docs为了了解如何重写 if 语句(避免 NullReference 异常)。

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

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

关于c# - ASP.NET MVC 使用可能具有或不具有 null 值的值的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56525015/

相关文章:

c# - 将查询字符串字典(或关联数组)转换为字典

C#5 异步方法完成事件。

asp.net-mvc - 在 Controller 中使用 "HttpPost"时无法找到资源错误

meteor - accounts-github 包导致我的 meteor 用户有一个空的电子邮件

c# - 手动制作WPF项目

c# - ConfigurationSections 我哪里出错了?

javascript - 将 C# 模型转换为 Angular 模型

c# - 在两个 mvc 项目之间共享公共(public)图像文件夹

c# - Emgu C#中的空引用异常

c# - 可选的设计模式,优势