2011-02-10 2 views
2

私のアプリケーションでは、私は5000要素の配列を持っています。私はこれらの要素を並べ替える必要があります。しかし、私は "配列インデックス外の例外"のエラーを取得しています。 並べ替えの配列の最大サイズを教えてもらえますか?Array.sort()メソッドを使用しているときの配列の最大サイズはいくらですか?

ArrayListを使用しますか?

+0

コードを投稿してください。 –

+0

ソートするコードを投稿してください。 –

+2

問題はArray.sort()の呼び出し以外の可能性が最も高いです。 5000要素はかなり小さく、ArrayIndexOutOfBoundsExceptionを引き起こすべきではありません。 – AndyPerfect

答えて

5

特定の制限はありません。ここではメモリによって制約されていますが、この時点でアレイが既に存在しているため、Array.Sortの制限ではありません。たとえば:

int[] arr = new int[500000]; 
Random rand = new Random(); 
for (int i = 0; i < arr.Length; i++) arr[i] = rand.Next(); 
Array.Sort(arr); // works just fine 

私はあなたが(たとえば)内部エラーを投げているIComparable[<T>]実装を持っているかもしれない疑いがありますか?または、おそらくこのエラーはには何もしません。Array.Sortであり、間違った行を原因と考えただけです。

例外の.StackTraceは、もちろんすべてを明らかにする必要があります。

いいえ:ここではArrayListを使用しないでください。それとも他の場所でもほとんど。

関連する問題