Viyi.Util/Linq/EnumerableExtensions.MaxMin.cs

(完整代码) 751B

namespace Viyi.Util.Linq;

public static partial class EnumerableExtensions {
    public static TSource MaxBy<TSource, TTarget>(
        this IEnumerable<TSource> source,
        Func<TSource, TTarget> selector
    ) {
        var comaprer = Comparer<TTarget>.Default;
        return source.Aggregate((last, next) =>
            comaprer.Compare(selector(next), selector(last)) > 0 ? next : last
        );
    }

    public static TSource MinBy<TSource, TTarget>(
        this IEnumerable<TSource> source,
        Func<TSource, TTarget> selector
    ) {
        var comaprer = Comparer<TTarget>.Default;
        return source.Aggregate((last, next) =>
            comaprer.Compare(selector(next), selector(last)) < 0 ? next : last
        );
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。