我尝试使用 ILSpy 查看System.Windows.Forms.DataVisualization.dll
该函数System.Windows.Forms.DataVisualization.Charting.StatisticFormula.Mean()
,但它似乎无法呈现内容。
我很好奇,这个函数在产生平均值方面是否比简单地编写我自己的平均值函数更有效,如下所示:
public static double Mean(this IEnumerable<double> values)
{
double sum = 0;
int count = 0;
foreach(double d in values)
{
sum += d;
count++;
}
return sum / count;
}
我很可能会与 300 万或更多的会员打交道。
[更新]
在测试期间,LINQIEnumerable.Average()
在我的旧双核工作站上似乎非常高效,List<int>
在 0.0011471 秒内处理了 87000 个成员。这比我想象的要高效得多:
var s3 = Stopwatch.StartNew();
double average1 = DaySampleValues.Average();
s3.Stop();
TimeSpan totaltime = s3.Elapsed; // = 0.0011471 seconds