在我的应用程序中,我有一个包含 5000 个元素的数组。我必须对这些元素进行排序。但是我收到“数组索引超出界限异常”的错误。 谁能告诉我要排序的数组的最大大小是多少?
我应该使用ArrayList吗?
最佳答案
没有具体的限制 - 这里仅受内存限制,并且此时数组已经存在,因此这不是 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
这里。或者几乎其他任何地方。
关于c# - 使用 Array.sort() 方法时数组的最大大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954303/