这相当于一个相关的子查询,其中您想要具有最大或最小X(而不是最大或最小X本身)的行。我只能通过分拣和挑选第一个项目来获得它。根据LINQ中的最小值或最大值选择一个值
public static TSource PickMin<TSource, TMin>(this IEnumerable<TSource> source, Func<TSource, TMin> selector) where TMin : IComparable<TMin>
{
return source.OrderBy(selector).FirstOrDefault();
}
这听起来并不像最有效的方法。我认为有.Contains
和.Min
的组合可以做到这一点?或者,这与LINQ获得的一样好吗?
Ix(来自Rx团队)也这样做。 –