小编Nic*_*bie的帖子

如何在LINQ中执行"搜索最佳"功能?

问候!

我正在寻找一种方法来搜索最能满足我标准的对象的集合.由于我必须经常这样做,所以我正在研究如何使用LINQ执行查询,但找不到一种简单的方法来做到这一点并不"浪费时间".

功能实现将是:

collection.OrderByDescending(f => FitFunction(f)).First()

但这似乎不必要地进行排序.我真的只需要线性扫描.Min LINQ函数返回最佳拟合,而不是产生最佳拟合的对象,因此似乎没有用.

为清楚起见,我将传统上写的非LINQ代码(并且已经这么多次):

T best;
float bestFit = something very low;

foreach (T ob in collection)
{
  float fit = FitFunction(ob);
  if (fit > bestFit)
  {
    bestFit = fit;
    best = ob;
  }
}
return best;
Run Code Online (Sandbox Code Playgroud)

我想我可能只是制作自己的扩展方法来做到这一点; 但在我看来,已经有一种方法可以在LINQ中做到这一点.

谢谢!

c# linq

7
推荐指数
1
解决办法
174
查看次数

标签 统计

c# ×1

linq ×1