public static T?MaxOrDefault <TSource, T>( [InstantHandle] this IEnumerable <TSource> source, [InstantHandle] Func <TSource, T> selector, IComparer <T>?comparer, T?defaultValue) => MinMaxOperators <T> .MaxOrDefault(source, selector, comparer, defaultValue);
public static TSource MaxOrDefault <TSource>( [InstantHandle] this IEnumerable <TSource> source, IComparer <TSource>?comparer, TSource?defaultValue) => MinMaxOperators <TSource> .MaxOrDefault(source, comparer, defaultValue);
public static TSource MinOrDefault <TSource>( [InstantHandle] this IEnumerable <TSource> source, TSource?defaultValue) => MinMaxOperators <TSource> .MinOrDefault(source, defaultValue);
public static T MaxOrDefault <TSource, T>( [NotNull, InstantHandle] this IEnumerable <TSource> source, [NotNull, InstantHandle] Func <TSource, T> selector, [CanBeNull] IComparer <T> comparer, T defaultValue) => MinMaxOperators <T> .MaxOrDefault(source, selector, comparer, defaultValue);
public static TSource MaxOrDefault <TSource>( [NotNull, InstantHandle] this IEnumerable <TSource> source, [CanBeNull] IComparer <TSource> comparer, TSource defaultValue) => MinMaxOperators <TSource> .MaxOrDefault(source, comparer, defaultValue);
public static T MinOrDefault <TSource, T>( [NotNull, InstantHandle] this IEnumerable <TSource> source, [NotNull, InstantHandle] Func <TSource, T> selector, T defaultValue) => MinMaxOperators <T> .MinOrDefault(source, selector, defaultValue);