如何避免==空检查?

Rox*_*Pro 10 c# null

这是我的代码,在项目中广泛使用,我想知道我可以以某种方式重构它,这样我就可以一直避免== null检查吗?

 ActiveCompany = admin.Company == null ? false : admin.Company.Active
Run Code Online (Sandbox Code Playgroud)

多谢你们

干杯

Tim*_*ter 15

您可以使用C#6:空条件运算符

ActiveCompany = admin.Company?.Active == true;
Run Code Online (Sandbox Code Playgroud)

true末尾的比较将“转换” bool?bool。您还可以使用空合并运算符来处理空值,如Keith所示。


Kei*_*las 12

与null条件链接的null合并运算符对于这种情况很有用:-

ActiveCompany =  admin.Company?.Active ?? false
Run Code Online (Sandbox Code Playgroud)