Проверьте ноль или пустое IEnumerable <double>в C # - PullRequest
0 голосов
/ 05 апреля 2019

Как лучше всего проверить null или пусто для IEnumerable<double> в C #?

То, что я пробовал до сих пор, это

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 голосов
/ 05 апреля 2019

В документации Math.NET говорится о функции Mean():

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

Оценивает среднее по выборке, оценку среднего по населению. Возвращает NaN, если данные пусты или если какая-либо запись является NaN.

Ни среднее, ни Double.NaN не равны нулю, поэтому returnList никогда не равно нулю, что делает проверку этого избыточного в соответствии с предложением ReSharper.

...