列表,排序列表和数组列表之间有什么区别? (C#)

时间:2015-10-29 05:34:53

标签: c# arrays list sorting sortedlist

根据我的阅读,列表,排序列表和数组列表有许多共同点,但同时也有一些差异。

我想知道:初学者应该知道他们之间有什么区别?为什么选择一个而不是另一个?在代码中使用它们时有什么好习惯可以形成?

感谢您的时间。

2 个答案:

答案 0 :(得分:12)

来自MSDN:

  

SortedList元素可以通过其键访问,就像其中的元素一样   任何IDictionary实现,或其索引,如中的元素   任何IList实现。

     

SortedList对象在内部维护两个数组来存储   清单的要素;也就是说,一个数组用于键,另一个用于键   关联值的数组。每个元素都是一个键/值对   可以作为DictionaryEntry对象访问。密钥不能为null,但是   值可以是。

另外,对于选择最佳收藏品,您可以看到this

enter image description here

答案 1 :(得分:2)

with List< T>和SortedList< T>您可以指定元素的类型,因此通常更容易使用。 ArrayList是遗留的,并保存对象,但您必须自己将它们转换为包含的类型。

排序列表< T>顾名思义是类型T的排序列表。当您需要排序列表时使用它。使用列表< T>当不需要排序的排序或者T的一般集合足够或者您提供自己的排序机制时。排序列表< T>添加项目然后列出< T>会更慢,所以只在必要时使用它。