使用Array.sort()方法时,数组的最大大小是多少?

时间:2011-02-10 07:05:13

标签: c# arrays

在我的应用程序中,我有一个包含5000个元素的数组。我必须对这些元素进行排序。但是我收到了“数组索引超出绑定异常”的错误。 任何人都可以告诉我阵列的最大大小是什么?

我应该使用ArrayList ??

1 个答案:

答案 0 :(得分: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>]实现在内部抛出错误?或者,也许这个错误什么都没有用<{1}}进行,你只是把错误的行视为原因。

当然,例外Array.Sort应该揭示所有内容。

不,你不应该在这里使用.StackTrace。或者几乎在其他任何地方。