我有一个条件如下图所示:
x.Customer == null ? false : x.Customer.CustomerData.IsSet
我的 IDE 对 Simplify conditional ternary expression
说。有没有其他方法可以在 dotnet 中简化此操作?我最近开始使用 c# world,对此我有点困惑。
我们也可以像在一行中添加一个空检查 CustomerData
一样吗?
我是这样试的-
Customer
当我尝试这个时,它给出了一个错误 -
<块引用>表达式树 lambda 不能包含条件访问 表达
答案 0 :(得分:1)
表达式的结果是布尔值,因此无需编写三元运算符。你可以这样写:
x.Customer != null && x.Customer.CustomerData.IsSet
答案 1 :(得分:0)
试试吧
bool result = x.Customer?.CustomerData?.IsSet ?? false
因此,如果 Customer 或 CutomerData 中的任何一个为 null,则默认为 false,否则将返回 IsSet。