これは簡単なはずです、そして私はまだそれを自分で理解していないのが恥ずかしいです。wp7アプリのアイテムリストの順序を逆にしようとしています。リストはObservableCollectionです。system.linqを使用する場合、intellisenseを使用すると次のことが可能になります。myList.Reverse(); 、しかしこれはうまくいかないようです。私は何か間違ったことをしていますか、それとも私がこれを簡単に行うことができる他の方法がありますか?
前もって感謝します。
これは簡単なはずです、そして私はまだそれを自分で理解していないのが恥ずかしいです。wp7アプリのアイテムリストの順序を逆にしようとしています。リストはObservableCollectionです。system.linqを使用する場合、intellisenseを使用すると次のことが可能になります。myList.Reverse(); 、しかしこれはうまくいかないようです。私は何か間違ったことをしていますか、それとも私がこれを簡単に行うことができる他の方法がありますか?
前もって感謝します。
ReverseはIEnumerableを返し、コレクションを変更しません。コレクションを変更するには
collection = new ObservableCollection<YourType>(collection.Reverse());
コレクションを再作成したくない場合:
for (int i = 0; i < collection.Count; i++)
collection.Move(collection.Count - 1, i);
(Tの)observablecollectionを継承するクラスを作成し、その中にsortオブジェクトを実装します。これは、vb.netのブルートフォース攻撃による方法です。
Public Sub Sort(ByVal comparer As IComparer(Of T))
Dim j As Integer
Dim index As T
For i As Integer = 1 To Count - 1
index = Me(i)
j = i
While (j > 0) AndAlso (comparer.Compare(Me(j - 1), index) = 1)
Me(j) = Me(j - 1)
j = j - 1
End While
Me(j) = index
Next
End Sub