カスタムクラスをソートすると、IComparableインターフェイスを実装する必要があることがわかりました。 しかし、この場合、私は "文字列クラス"を制御することはできません。文字列のみを含むArrayListをソートする最も簡単な方法は何ですか?
ありがとうございます。代わりにcatingから防ぐために、ArrayListの使用一覧の
カスタムクラスをソートすると、IComparableインターフェイスを実装する必要があることがわかりました。 しかし、この場合、私は "文字列クラス"を制御することはできません。文字列のみを含むArrayListをソートする最も簡単な方法は何ですか?
ありがとうございます。代わりにcatingから防ぐために、ArrayListの使用一覧の
が、すべてにmylist.Sort()
は、使用するIComparer
を指定することができますoverload of the Sort
methodがありArray List Sort MethodとList Sort Method
ああ。それでおしまい! = D – Seva
参照ください。
ArrayList
を使用していますか?これは事前の汎用レガシーコレクションであり、すべての目的と目的のためにList
に置き換えられています。リストを使用している場合は、sort()
メソッドを使用すればすべてが処理されます。
まず、ArrayList
の代わりにList<string>
を使用することをおすすめします。これは.Sort()
メソッドを提供し、「うまくいく」方法です。
そうでない場合は、次のようなのArrayListからこれを実行するためにLINQを使用することができます。より効率的であるArrayList.Sortを使用して
// This makes a new List<T>
var sorted = arrayList.Cast<string>().OrderBy(s => s).ToList();
、それは...ではなく、コピーの代わりにソートします
arrayList.Sort();
配列リストにはリストのようなソート方法があります。 –
@Saeed:はい、私は知っています - OPはIComparableを避けたかったのですが... –
なぜIComparableですか?この場合、これは必要ありません。 –
参照:http://msdn.microsoft.com/en-us/library/8k6e334t.aspx
// Sorts the values of the ArrayList.
theArrayList.Sort();
文字列はすでにIComparableを実装しているため、L ist.Sortは以下のように動作します。 :)これは実装されているクラス(カスタムクラスを実装している場合など)で動作します。 – Tridus