Linq匿名类型

本文关键字:类型 Linq | 更新日期: 2023-09-27 18:13:06

我不经常使用LINQ,问题是它有高效和低效的使用方式。

我有一个项目列表,我只想对每个项目进行计算,并返回计算出的最小十进制数(注意数字,而不是项目)。我有这个LINQ工作,但我想知道这是否是在这种情况下使用LINQ最有效的方式。

var bestPrice = query.Select(x => new
{
    Interest = CalcInterest(amount, term, x.ProductRate.Rate)
})
.OrderBy(x => x.Interest)
.FirstOrDefault();

其中"query"是预先选择的LINQ列表,"CalcInterest"是用于计算数字的方法。

这个查询将被大量使用,所以任何小的收获都将是大的胜利。

Linq匿名类型

我认为这里不需要匿名类型。试试这个:

var bestPrice = query.Min(x => CalcInterest(amount, term, x.ProductRate.Rate));
编辑:玩弄它,我意识到这创造了一个不同的结果。您的代码返回一个匿名类型。这只返回兴趣最低的对象。利息数据不保留。

无论哪种方法,使用Min得到最小值