我的代码当前如下所示:
if (control != null && control.Meta != null && control.State != null)
{
ConfigureMeta(control, control.Meta);
ConfigureColors(control, control.State);
}
现在是否有另一种更清洁的方法可以使用“?”执行此null检查?已添加到最新版本的C#中?
答案 0 :(得分:7)
您可以使用空条件运算符( C#6 )减少一张支票-已添加(2015年7月)
在执行以下操作之前测试左侧操作数的值为null 成员访问(
?.
)或索引(?[]
)操作;如果{ 左侧操作数的值为空。
null
如果您真的很想简化多项检查,并且具有可打印字符 OCD (并且您只是喜欢编写一些有趣的方法)
您可以使用以下
if (control?.Meta != null && control?.State != null)
{
}