簡體   English   中英

使用Array.sort()方法時數組的最大大小是多少?

[英]What is the maximum size of an array while using Array.sort() method?

在我的應用程序中,我有一個包含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 完全 Array.Sort ,而您只是將錯誤的行視為原因。

當然,異常的.StackTrace應該顯示所有內容。

否:您不應該在這里使用ArrayList 或幾乎其他任何地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM