既然有没有更干净的方法来处理空检查?测试是否存在变量?

时间:2019-02-26 05:47:35

标签: c#

我的代码当前如下所示:

if (control != null && control.Meta != null && control.State != null)
{
   ConfigureMeta(control, control.Meta);
   ConfigureColors(control, control.State);
}

现在是否有另一种更清洁的方法可以使用“?”执行此null检查?已添加到最新版本的C#中?

1 个答案:

答案 0 :(得分:7)

您可以使用空条件运算符 C#6 )减少一张支票-已添加(2015年7月)

null-conditional operators

  

在执行以下操作之前测试左侧操作数的值为null   成员访问(?.)或索引(?[])操作;如果{   左侧操作数的值为空。

null

如果您真的很想简化多项检查,并且具有可打印字符 OCD (并且您只是喜欢编写一些有趣的方法)

您可以使用以下

if (control?.Meta != null && control?.State != null)
{
}