Нативная поддержка C# для проверки, отсортирована ли общение?C#

Место общения программистов C#
Anonymous
Нативная поддержка C# для проверки, отсортирована ли общение?

Сообщение Anonymous »

Есть ли поддержка LINQ для проверки, отсортирована ли Ienumerable ? У меня есть перечисление, которое я хочу проверить, сортируется в неразрывающемся порядке, но я не могу найти нативную поддержку для этого в C#.public static bool IsSorted(this IEnumerable collection) where T : IComparable
{
Contract.Requires(collection != null);

using (var enumerator = collection.GetEnumerator())
{
if (enumerator.MoveNext())
{
var previous = enumerator.Current;

while (enumerator.MoveNext())
{
var current = enumerator.Current;

if (previous.CompareTo(current) > 0)
return false;

previous = current;
}
}
}

return true;
}
< /code>

и один с использованием icomparer < /code> объект: < /p>

public static bool IsSorted(this IEnumerable collection, IComparer comparer)
{
Contract.Requires(collection != null);

using (var enumerator = collection.GetEnumerator())
{
if (enumerator.MoveNext())
{
var previous = enumerator.Current;

while (enumerator.MoveNext())
{
var current = enumerator.Current;

if (comparer.Compare(previous, current) > 0)
return false;

previous = current;
}
}
}

return true;
}


Подробнее здесь: https://stackoverflow.com/questions/197 ... -is-sorted

Вернуться в «C#»