根据我的阅读,列表,排序列表和数组列表有许多共同点,但同时也有一些差异。
我想知道:初学者应该知道他们之间有什么区别?为什么选择一个而不是另一个?在代码中使用它们时有什么好习惯可以形成?
感谢您的时间。
答案 0 :(得分:12)
来自MSDN:
SortedList元素可以通过其键访问,就像其中的元素一样 任何IDictionary实现,或其索引,如中的元素 任何IList实现。
SortedList对象在内部维护两个数组来存储 清单的要素;也就是说,一个数组用于键,另一个用于键 关联值的数组。每个元素都是一个键/值对 可以作为DictionaryEntry对象访问。密钥不能为null,但是 值可以是。
另外,对于选择最佳收藏品,您可以看到this。
答案 1 :(得分:2)
with List< T>和SortedList< T>您可以指定元素的类型,因此通常更容易使用。 ArrayList是遗留的,并保存对象,但您必须自己将它们转换为包含的类型。
排序列表< T>顾名思义是类型T的排序列表。当您需要排序列表时使用它。使用列表< T>当不需要排序的排序或者T的一般集合足够或者您提供自己的排序机制时。排序列表< T>添加项目然后列出< T>会更慢,所以只在必要时使用它。