在C#中检查IEnumerable <double>为空还是空

时间:2019-04-05 15:54:13

标签: c# math.net

在C#中检查null或清空IEnumerable<double>的最佳方法是什么?

到目前为止我尝试过的是

return returnList != null && returnList.Any();

但是我收到一条消息,该表达式将始终返回true

完整方法:

public double ArithmeticMean(IEnumerable<double> ReturnsList, bool IsMonthly)
{
    var returnList = ReturnsList.Mean();

    if (IsMonthly)
    {
        return returnList;
    }
    else
    {
        return returnList * Math.Pow(12, 0.5);
    }
}

1 个答案:

答案 0 :(得分:0)

Math.NET文档介绍了Mean()函数:

https://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Statistics.htm#Mean

  

评估样本均值,即总体均值的估计值。如果数据为空或任何条目为NaN,则返回NaN。

mean或Double.NaN都不为空,因此returnList绝不为空,这使得ReSharper提出的对该冗余进行检查。