一般的なリストを並べ替えようとしていますが、InvalidOperationException
エラーが発生します
誰かがそれを修正する方法についての提案がありますか?
List<XYZ<String, String>>
リストは関数を介してパラメータとして渡されています。
func( List<XYZ<String, String>> PassedList) {
PassedList.Sort();
}
どんな提案も本当に役に立ちます。
一般的なリストを並べ替えようとしていますが、InvalidOperationException
エラーが発生します
誰かがそれを修正する方法についての提案がありますか?
List<XYZ<String, String>>
リストは関数を介してパラメータとして渡されています。
func( List<XYZ<String, String>> PassedList) {
PassedList.Sort();
}
どんな提案も本当に役に立ちます。
実装するXYZ
必要がありますIComparable
または(さらに良い)IComparable<XYZ<T, U>>
。
それが不可能な場合は、実装するクラスを作成するか、IComparer
(これもまた良いですが)そのようなオブジェクトのインスタンスを取得IComparer<XYZ<String, String>>
するオーバーロードを使用するSort()
か、一致するデリゲートまたはラムダ式を取得するフォームを使用する必要がありますComparison<XYZ<String, String>>
( 2つのXZY<String, String>
引数、および戻り値int
)。
Sort()
メソッドがどちらが前に来るかを理解できない場合、XYZ
それらをソートすることはできません。
linqステートメントを使用して問題を解決しました。
を使用する代わりPassedList.Sort()
に、次のステートメントを使用しました。
PassedList = PassedList.OrderBy( x => x.Column1).ToList();