【发布时间】:2016-10-14 16:52:39
【问题描述】:
我不经常使用 LINQ,它的问题是有一些有效的方法可以使用它,但效率较低。
我有一个项目列表,我只想对每个项目进行计算并返回计算得出的最小十进制数(注释编号,而不是项目)。我有这个可以工作的 LINQ,但我想知道它是否是在这种情况下可以使用 LINQ 的最有效方式。
var bestPrice = query.Select(x => new
{
Interest = CalcInterest(amount, term, x.ProductRate.Rate)
})
.OrderBy(x => x.Interest)
.FirstOrDefault();
其中“query”是预选的 LINQ 列表,“CalcInterest”是用于计算数字的方法。
此查询将被大量使用,因此任何小收获都会是大胜利。
【问题讨论】:
-
在代码审查伙伴中发布这个:)
-
如果您对更有效的方式感兴趣,您也需要提供
query。所需结果的类型是什么?Interest是什么?如果只包含一个十进制数,为什么还需要匿名类型? -
@TimSchmelter - 查询的内容无关紧要,它只是一个包含 Product Rate 字段的项目列表。听起来我不需要匿名类型 - 我参考我的开场白和缺乏 LINQ 经验。
-
出于兴趣,是什么让您认为此查询使用匿名类型?
-
@Gusdor - 缺乏经验 :)