List
-
The List class implements the ICollection, IEnumerable, IList, IReadOnlyCollection, IReadOnlyList, ICollection, IEnumerable, and IList interface.
-
它可以接受 null 作为引用类型的有效值,也允许重复元素。
-
如果 Count 等于 Capacity,则 List 的容量会通过重新分配内部数组自动增加。 在添加新元素之前,现有元素将被复制到新数组中。
-
默认情况下,列表中的元素不排序,元素通过从零开始的索引访问。
SortedList
-
The SortedList class implements the IEnumerable, ICollection, IDictionary and ICloneable interfaces.
-
在 SortedList 中,可以通过其键或索引来访问元素。
-
SortedList 对象在内部维护两个数组来存储列表的元素,即一个数组用于键,另一个数组用于关联值。
-
在这里,键不能为空,但值可以。
-
SortedList 对象的容量是它可以容纳的键/值对的数量。
-
在 SortedList 中,不允许有重复的键。
-
在 SortedList 中,由于非泛型集合,您可以存储相同类型和不同类型的值。 如果您在程序中使用通用的 SortedList,则值的类型必须相同。
-
在 SortedList 中,您不能将不同数据类型的键存储在同一个 SortedList 中,因为编译器会抛出异常。 因此,请始终在相同类型的 SortedList 中添加键。
-
您还可以将 SortedList 的键/值对转换为 DictionaryEntry。
LinkedList
-
LinkedList 类实现了 ICollection、IEnumerable、IReadOnlyCollection、ICollection、IEnumerable、IDeserializationCallback 和 ISerializable 接口。
-
它还支持枚举器。
-
您可以在同一个列表或另一个列表中删除节点并重新插入它们,这样就不会在堆上分配额外的对象。
-
LinkedList 对象中的每个节点都属于 LinkedListNode 类型。
-
它不支持链接、拆分、循环或其他可能使列表处于不一致状态的功能。
-
如果 LinkedList 为空,则 First 和 Last 属性包含 null。
-
LinkedList 的容量是 LinkedList 可以容纳的元素数。
-
在 LinkedList 中,允许存储相同类型的重复元素。