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

标签 c# arrays

在我的应用程序中,我有一个包含 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/

相关文章:

c# - 在 ASP.NET Web 窗体中使用 ASP.NET Web API 时出现 "Method Not Allowed"错误

c# - 在 asp.net mvc 中从 View 中获取对象列表的最佳实践

java - 将 CSVReader 输出复制到数组(单个索引到新数组)

arrays - 在ng-repeat中按具有整数值的属性过滤对象数组

php - cookie 中的数组,使用 pdo 查询访问

c# - 如何将没有名称的 json 数组反序列化为 C# 上的类

c# - 有没有办法在 128KB/64KB 上加快对 MS SQL Server 的远程访问?

c# - 应用程序在 Windows 8.1 中崩溃

arrays - 来自范围的常量数组

python - 删除字符串中包含除 A、C、T、G、N 之外的其他字母的行