One example of such method could be:
static bool IsSorted<T>(IEnumerable<T> enumerable) where T : IComparable<T> {
T prev = default(T);
bool prevSet = false;
foreach (var item in enumerable) {
if (prevSet && (prev == null || prev.CompareTo(item) > 0))
return false;
prev = item;
prevSet = true;
}
return true;
}
Works with most built-in types like numbers or strings, because they implement IComparable.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…