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

Cho*_*now 7 c# arrays sorting list sortedlist

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

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

感谢您的时间.

小智 13

来自MSDN:

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

SortedList对象在内部维护两个数组来存储列表的元素; 也就是说,键的一个数组和关联值的另一个数组.每个元素都是一个键/值对,可以作为DictionaryEntry对象进行访问.密钥不能为null,但值可以为.

另外,为了选择最佳系列,你可以看到这个.

在此输入图像描述


Gre*_*lOz 2

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

SortedList<T> 顾名思义是 T 类型的排序列表。当您需要排序列表时使用它。当不需要排序或 T 的一般集合就足够或者您提供自己的排序机制时,请使用 List<T>。SortedList<T> 在添加项目时会比 List<T> 慢,因此仅在必要时使用它。