using System.Collections.Generic;
Console.WriteLine(a.IsInOrder(LessThanOrEqual));
Console.WriteLine(c.IsInOrder(LessThanOrEqual));
Console.WriteLine(b.IsInOrder(GreaterThanOrEqual));
Console.WriteLine(c.IsInOrder(GreaterThanOrEqual));
public static bool LessThanOrEqual(int a, int b) => a <= b;
public static bool GreaterThanOrEqual(int a, int b) => a >= b;
public static bool IsInOrder<T>(this IEnumerable<T> ienumerable, Func<T, T, bool> check)
foreach (T value in ienumerable)
if (!check(previous, value))
throw new ArgumentException("Empty IEnumerable");