【发布时间】:2018-01-29 13:40:08
【问题描述】:
有一个类 A 具有 Nullable 属性 Prop
public class A {
int? Prop {get; set;}
}
...
我有对象a,它的类型是A
关于条件:
if (a != null && a.Prop.HasValue) { // <--
int res = a.Prop;
}
我收到建议"Merge sequential checks"
我不明白我怎么能这样做。 a?.Prop.HasValue 不起作用
我在这里错过了什么?
【问题讨论】:
-
a?.Prop != null就是它所说的。那或a?.Prop.HasValue == true -
只需按 alt+enter 并应用建议的更改,如果您可以应用建议的更改,不知道为什么要问“我该怎么做”(据我所知,您可以应用所有建议的更改,并且当然是这个)。
-
从左到右解析if语句。因此,如果 a 为 null,则永远不会执行 a.Prop.HasValue。
-
这些 cmets 应该是答案... ;)