无法理解ReSharper“合并顺序检查”逻辑

时间:2019-04-18 15:09:47

标签: resharper c#-6.0 null-conditional-operator

我有以下代码:

if (updateResult != null &&
    updateResult.ConcurrencyErrorResult != null &&
    updateResult.ConcurrencyErrorResult.ErrorRaised == ConcurrencyErrorType.None) { }

在C#6.0中,ReSharper建议我使用以下语法:

if (updateResult?.ConcurrencyErrorResult != null &&
    updateResult.ConcurrencyErrorResult.ErrorRaised == ConcurrencyErrorType.None) { }

为什么它也不会在单个语句中合并第二个空检查?

if (updateResult?.ConcurrencyErrorResult?.ErrorRaised == ConcurrencyErrorType.None) { }

0 个答案:

没有答案