这相当于一个相关的子查询,您想要具有最大或最小 X 的行(而不是最大或最小 X 本身)。我只能通过排序和挑选第一个项目来获得它。
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 一样好?