首页 / .NET / 正文

.NET常用的集合类型及如何选择合适的集合类型

2332 2 发布于: 2021-09-08 读完约需5分钟

.NET常用的集合类型

.NET集合概述

.NET中,集合类型表示收集数据的不同方法,如哈希表、队列、堆栈、字典和列表。

在.NET中,所有集合都直接或间接地基于ICollectionICollection<T>接口。IListIDictionary以及它们的通用对应类都派生于这两个接口。

在基于IList或直接基于ICollection的集合中,每个元素只包含一个值。这些类型包括:

在基于IDictionary接口的集合中,每个元素都包含一个键和一个值。这些类型包括:

如何选择集合类型

作为.NET初学者,面对如上列举的诸多集合类型,你是否对何时选择何种集合类型感到困惑呢?

通常情况下,选择使用泛型集合。下表描述了一些常见的集合使用场景以及可以用于这些场景的集合类。如果你是泛型集合的新手,下表有助于你选择最适合的泛型集合。

应用场景 泛型集合 非泛型集合 线程安全或不可变集合
将元素以键/值对方式存储,以便按键快速查找 Dictionary Hashtable ConcurrentDictionary<TKey,TValue> ReadOnlyDictionary<TKey,TValue> ImmutableDictionary<TKey,TValue>
按索引访问集合元素 List Array ArrayList ImmutableList<T> ImmutableArray
按元素先进先出原则访问元素 First-In-First-Out (FIFO) Queue Queue ConcurrentQueue<T> ImmutableQueue
按元素后进先出原则访问元素 Last-In-First-Out (LIFO) Stack Stack ConcurrentStack<T> ImmutableStack<T>
按顺序存取元素 LinkedList 不推荐 不推荐
当集合元素被删除或添加时接收通知 (实现了 INotifyPropertyChangedINotifyCollectionChanged接口) ObservableCollection 不推荐 不推荐
排序集合 SortedList SortedList ImmutableSortedDictionary ImmutableSortedSet
数学函数的集合 HashSet SortedSet 不推荐 ImmutableHashSet ImmutableSortedSet

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: 创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性

下一篇: 1分钟极速搭建基于BaGet的轻量级私有Nuget程序包服务器

本文永久链接码友网 » .NET常用的集合类型及如何选择合适的集合类型

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册