Sort()
является метод. Я думаю, вы хотите иметь Sorted
.
if (!aList.Sorted)
Обратите внимание, что это возможно для деталей, чтобы быть «в порядке возрастания» без самого ListBox исполнившего порядок сортировки. Если вы хотите просто проверить, все ли отображаемые предметы : в порядке возрастания, это другое дело.
РЕДАКТИРОВАТЬ: Чтобы проверить, упорядочена ли последовательность элементов (в том числе элементы в списке или элементы в ArrayList
, которые могут оказаться тем, что вас интересует), вам просто нужно перебирать их, и сравнить каждый элемент с предыдущим. Это легче сделать с помощью универсальной коллекции, но ...
public static bool IsSorted(IEnumerable sequence)
{
// Now assuming that list
using (IEnumerator iterator = sequence.GetEnumerator())
{
if (!iterator.MoveNext())
{
// An empty sequence is always sorted
return true;
}
IComparable previous = (IComparable) iterator.Current;
while (iterator.MoveNext())
{
IComparable next = (IComparable) iterator.Current;
if (next.CompareTo(previous) < 0)
{
return false;
}
previous = next;
}
return true;
}
}
Ошибка \t \t 1 «System.Collections.ArrayList» не содержит определение для «Сортировано» и не метода расширения «рассортированных» принимающего первого аргумента типа «System.Collections.ArrayList» можно найти (вам не хватает директивы using или ссылки на сборку?) –
Как бы вы закодировали восходящий порядок? –
@KevinChun: Вы сказали список, а не 'ArrayList'. Если вы спрашиваете о 'ArrayList', это совсем другое. Будьте осторожны, чтобы быть точным, когда вы задаете вопросы. –