C# 中常用的集合类有哪些?

· 约 3 分钟读完 · 第 23 / 183 章

推荐答案

在C#中,常用的集合类包括:

  1. List<t>:动态数组,支持快速随机访问和动态扩容。
  2. Dictionary<TKey, TValue>:键值对集合,基于哈希表实现,支持快速查找。
  3. HashSet<t>:无序且不重复的集合,基于哈希表实现。
  4. Queue<t>:先进先出(FIFO)的集合。
  5. Stack<t>:后进先出(LIFO)的集合。
  6. LinkedList<t>:双向链表,支持高效的插入和删除操作。
  7. SortedList<TKey, TValue>:按键排序的键值对集合。
  8. SortedSet<t>:有序且不重复的集合。
  9. ObservableCollection<t>:支持数据绑定和通知的集合。

本题详细解读

List<t>

List<T> 是C#中最常用的集合类之一,它是一个动态数组,支持快速随机访问和动态扩容。List<T> 在需要频繁访问元素时非常高效,但在中间插入或删除元素时性能较差。

Dictionary<TKey, TValue>

Dictionary<TKey, TValue> 是一个键值对集合,基于哈希表实现。它支持快速的查找、插入和删除操作,时间复杂度接近O(1)。适用于需要根据键快速查找值的场景。

HashSet<t>

HashSet<T> 是一个无序且不重复的集合,基于哈希表实现。它支持快速的插入、删除和查找操作,适用于需要去重或快速判断元素是否存在的场景。

Queue<t>

Queue<T> 是一个先进先出(FIFO)的集合,常用于需要按顺序处理元素的场景,如任务调度、消息队列等。

Stack<t>

Stack<T> 是一个后进先出(LIFO)的集合,常用于需要按相反顺序处理元素的场景,如撤销操作、递归算法等。

LinkedList<t>

LinkedList<T> 是一个双向链表,支持高效的插入和删除操作。适用于需要频繁在集合中间插入或删除元素的场景。

SortedList<TKey, TValue>

SortedList<TKey, TValue> 是一个按键排序的键值对集合。它结合了列表和字典的特性,适用于需要按键排序并快速查找的场景。

SortedSet<t>

SortedSet<T> 是一个有序且不重复的集合,基于红黑树实现。它支持快速的插入、删除和查找操作,适用于需要有序且不重复元素的场景。

ObservableCollection<t>

ObservableCollection<T> 是一个支持数据绑定和通知的集合,常用于WPF或MVVM模式中,当集合发生变化时,会自动通知UI进行更新。