我在XML文件中收集了大约8,000个测试分数。 使用Linq和C#,计算特定测试分数百分位数的最有效方法之一是什么。
我的重点是效率。那么推荐的方法是什么?我也在寻找适合此计算的内置Linq或C#函数。有没有叫Percentile()或TopPercent的东西?
答案 0 :(得分:7)
在您确认自己需要担心之前,这听起来像是在担心效率。
我会采取以下方法:
Count
与谓词一起使用,以了解有多少分数低于“目标”分数如果您需要检查多个分数,显然仅需要重复最后一步。
我的第一次尝试优化此项(用于多次检查)将对列表进行排序,因此您可以进行二元搜索以查找每个分数的等级。我只会在基准测试后远离那个。