当前位置: 首页 > news >正文

C# 中常用集合以及使用场景

1. 数组 (Array)

  • 特点‌:固定大小、内存连续、访问速度快
  • 使用场景‌:
    • 需要高性能的固定大小集合
    • 数值计算(如矩阵运算)
    • 存储已知长度的数据(如配置文件参数)

2. List<T>

  • 特点‌:动态数组、自动扩容、支持索引访问
  • 使用场景‌:
    • 需要频繁增删的集合(比数组更灵活)
    • 数据缓存(如从数据库读取的记录集)
    • 需要 LINQ 操作的场景

3. Dictionary<TKey, TValue>

  • 特点‌:键值对、哈希表实现、快速查找
  • 使用场景‌:
    • 需要快速通过键查找值(如缓存系统)
    • 配置项存储(如键值对配置)
    • 数据分组统计

4. HashSet<T>

  • 特点‌:唯一性保证、高性能集合运算
  • 使用场景‌:
    • 去重操作(如日志去重)
    • 集合运算(并集、交集等)
    • 快速判断元素是否存在

5. Queue<T>

  • 特点‌:先进先出 (FIFO)
  • 使用场景‌:
    • 任务队列(如后台任务处理)
    • 消息队列模拟
    • 广度优先搜索 (BFS) 算法

6. Stack<T>

  • 特点‌:后进先出 (LIFO)
  • 使用场景‌:
    • 撤销操作(如文本编辑器撤销栈)
    • 深度优先搜索 (DFS) 算法
    • 表达式求值(如括号匹配)

7. LinkedList<T>

  • 特点‌:双向链表、高效插入/删除
  • 使用场景‌:
    • 频繁在中间插入/删除的场景
    • 实现 LRU 缓存
    • 需要前后遍历的集合

8. ObservableCollection<T>

  • 特点‌:数据变更通知(实现 INotifyCollectionChanged)
  • 使用场景‌:
    • WPF/Silverlight 数据绑定
    • 需要实时更新 UI 的集合

9. SortedDictionary/SortedList<TKey, TValue>

  • 特点‌:按键排序的字典
  • 使用场景‌:
    • 需要按键排序的键值对
    • 范围查询(如查找 10~20 之间的键)

10. Concurrent Collections(线程安全集合)

  • 包含类型‌:
    • ConcurrentBag<T>(无序集合)
    • ConcurrentQueue<T>
    • ConcurrentStack<T>
    • ConcurrentDictionary<TKey, TValue>
  • 使用场景‌:
    • 多线程环境下的共享集合
    • 并行计算任务分配
http://www.dtcms.com/a/324357.html

相关文章:

  • 强制类型转换
  • AI 对齐:让人工智能与人类价值同频共振
  • JavaWeb——maven高级(5/5)-私服(私服的概念与作用、Maven 依赖的查找顺序、上传资源到私服的配置步骤、下载依赖配置条件)
  • 单链表专题---暴力算法美学(2)(有视频演示)
  • actuary notes[2]
  • 单调栈——数位删减
  • Go语言中切片(Slice)的拷贝
  • 自创论述类文本阅读:论温泉
  • PWM波的频谱分析及matlab 验证[电路原理]
  • 【Linux】使用静态 BusyBox 解决操作系统“塌方”问题
  • Premiere准备工作
  • AQS的详细讲解
  • Java对接支付宝,回调验签失败
  • 活动策划(展会、年会),在线工具能快速出邀请函不?
  • [创业之路-537]:经营分析会 - 销售目标以及支撑、关键策略、主要行动措施、资源保障、人才储备
  • 在 JDK 17 上完整观察 synchronized 锁升级过
  • 嵌入式第二十四课!!linux应用软件编程与文件操作!!!
  • Java 基础编程案例:斐波拉契数与从输入交互到逻辑处理
  • NodeJs学习日志(4):路由合并_环境配置_常用文件目录
  • HarmonyOS之module.json5功能详解
  • AI测试助手如何让Bug无处可藏
  • 湖南(源点咨询)市场调研 如何在行业研究中快速有效介入 中篇
  • 深入浅出DBSCAN:基于密度的聚类算法详解与Python实战
  • github上传文件
  • Navicat 无限适用
  • Tesseract训练个人字库操提高准确率操作全流程(详细)
  • 新手向:Python制作简易音乐播放器
  • Python中的 __name__
  • 遇到前端导出 Excel 文件出现乱码或文件损坏的问题
  • 异或循环冗余