【发布时间】:2014-02-17 23:44:11
【问题描述】:
public static class LinqExtensions
{
public static double Variance(this IList<double> data)
{
double sumSquares=0;
double avg = data.Average();
foreach (var num in data)
{
sumSquares += (num - avg * num - avg);
}
return sumSquares / (data.Count - 1);
}
public static decimal? Variance<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal?> selector)
{
//where to start for implementing?
}
}
我想为泛型类型做一些 LINQ 扩展。我知道如何在不使用委托的情况下扩展 LINQ,我有几个尚未定义的类型,它们将具有我需要枚举的属性以及诸如方差之类的东西。如何定义我的 Variance 扩展方法以便它接受委托?
【问题讨论】: