実行できるかどうか、ArrayListがソートされているかどうかを確認するためにループできるかどうか、そうでない場合はメッセージボックスを表示できるかどうか疑問に思っています。
これは私が試したものです:
if (!aList.Sort)
{
MessageBox.Show("The list isn't sorted");
}
Sort()
メソッドです。私はあなたがSorted
プロパティが欲しいと思います。
if (!aList.Sorted)
リストボックス自体がソート順を強制しなくても、アイテムが「昇順」になる可能性があることに注意してください。表示されているすべてのアイテムが昇順であるかどうかを確認したいだけの場合は、別の問題です。
編集:シーケンス(リストボックス内のアイテムか、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;
}
}