public static bool IsSorted <T>(this SCG.IEnumerable <T> enumerable, Comparison <T> comparison) { #region Code Contracts // Argument must be non-null Requires(enumerable != null, ArgumentMustBeNonNull); // Argument must be non-null Requires(comparison != null, ArgumentMustBeNonNull); #endregion return(enumerable.AllConsecutiveElements((x, y) => comparison(x, y) <= 0)); }
public static bool IsSorted <T>(this SCG.IEnumerable <T> enumerable, SCG.IComparer <T> comparer) { #region Code Contracts // Argument must be non-null Requires(enumerable != null, ArgumentMustBeNonNull); #endregion if (comparer == null) { comparer = SCG.Comparer <T> .Default; } return(enumerable.AllConsecutiveElements((x, y) => comparer.Compare(x, y) <= 0)); }