2015-10-29 48 views
3

從我讀過的內容來看,列表,排序列表和數組列表有很多共同之處,但同時也有一些差異。列表,排序列表和數組列表之間有什麼區別? (c#)

我想知道:初學者應該知道他們之間有什麼區別?爲什麼選擇一個在另一個之上?在代碼中使用它們時有什麼好習慣?

謝謝你的時間。

+4

試着讀一些書。作爲示例 - c#深入https://www.manning.com/books/c-sharp-in-depth-third-edition –

回答

1

帶有列表< T>和SortedList < T>您可以指定元素的類型,因此通常更易於使用。 ArrayList是遺留的,並保存對象,但您必須將它們自己轉換爲包含的類型。

SortedList < T>顧名思義就是一個排序列表類型T.當你想要一個排序列表時使用它。使用清單< T>當排序的排序是不必要的,或者當T的一般集合足夠時,或者您提供您自己的排序機制時。 SortedList < T>在添加項目時會更慢,然後列出< T>,所以只有在必要時才使用它。

5

從MSDN:

甲排序列表元件可以通過它的鍵來訪問,如在 元素的任何IDictionary的實施方式中,或者由它的索引,就像在任何 IList實現的元件。

SortedList對象在內部維護兩個數組以存儲列表的 元素;也就是說,一個數組的鍵和另一個 陣列的關聯值。每個元素都是可以作爲DictionaryEntry對象訪問的鍵/值對 。一個密鑰不能爲空,但一個值可以是 。

同樣爲了選擇最好的收藏,你可以看到this

enter image description here

+0

如何寫一個列表O(n),當它在內部使用數組?我想這是最壞的情況,當它不得不調整陣列..? – Rob

相關問題