ReSharepr错误地使用了Heurictically无法访问的代码'具有简单的可空状态

时间:2017-10-26 11:30:01

标签: c# resharper code-analysis nullable

使用反向可空的比较条件是否有任何疑问,以避免额外的分支为null?

使用以下C#代码:

public static decimal? Max(IEnumerable<decimal> values)
{
    decimal? maxValue = null;

    foreach (decimal currentValue in values)
    {
        if (!(maxValue >= currentValue))
        {
            maxValue = currentValue;
        }
    }

    return maxValue;
}

我收到关于条件总是虚假和启发式无法访问的代码的警告:

ReSharper warnings

代码按预期工作:

//returns 11            
Console.WriteLine(Max(new[] {5m, 0m, 11m, 2m}));    
//returns null
Console.WriteLine(Max(new decimal[] {}));   

这是一个已知的ReSharper错误吗?

0 个答案:

没有答案