0

一般的なリストを並べ替えようとしていますが、InvalidOperationExceptionエラーが発生します

誰かがそれを修正する方法についての提案がありますか?

List<XYZ<String, String>>リストは関数を介してパラメータとして渡されています。

func( List<XYZ<String, String>> PassedList) {

   PassedList.Sort();
}

どんな提案も本当に役に立ちます。

4

3 に答える 3

2

XYZはIComparableである必要があります

于 2013-02-14T18:00:06.090 に答える
1

実装するXYZ必要がありますIComparableまたは(さらに良い)IComparable<XYZ<T, U>>

それが不可能な場合は、実装するクラスを作成するか、IComparer(これもまた良いですが)そのようなオブジェクトのインスタンスを取得IComparer<XYZ<String, String>>するオーバーロードを使用するSort()か、一致するデリゲートまたはラムダ式を取得するフォームを使用する必要がありますComparison<XYZ<String, String>>( 2つのXZY<String, String>引数、および戻り値int)。

Sort()メソッドがどちらが前に来るかを理解できない場合、XYZそれらをソートすることはできません。

于 2013-02-14T18:04:32.670 に答える
0

linqステートメントを使用して問題を解決しました。

を使用する代わりPassedList.Sort()に、次のステートメントを使用しました。

PassedList = PassedList.OrderBy( x => x.Column1).ToList();
于 2013-02-14T19:04:46.443 に答える